본문 바로가기

질문과답변

231226 public 과 private 관련

  public void destroyCard()
    {
        Invoke("destroyCardInvoke", 0.1f);
    }

    void destroyCardInvoke()
    {
        Destroy(gameObject);
    }

    public void closeCard()
    {
        Invoke("closeCardInvoke", 1.0f);
    }

    void closeCardInvoke()
    {
        anim.SetBool("isOpen", false);
        transform.Find("back").gameObject.SetActive(true);
        transform.Find("front").gameObject.SetActive(false);
    }

이거 어차피 호출할건데 gameManager.cs에서 호출함수를 만들면 되지 왜 굳이 public이랑 private로 나눠서 public에선 호출만 하도록 card.cs 에서 만들었는지 물어보려고 했는데 구체적으로 이해하도록 질문을 적으면서 생각해보니 private는 외부에서 호출만 못하는게 아니라 수정도 못하기 때문에 중요한 함수의 경우 외부에서 접근해 변경되지 않도록 안전하게 사용하려고 이렇게 적었다는걸 알게됨