getter/setter/toString() 하는이유?


getter/setter/toString()을 하는 근본적인 이유가 무엇일까요?


조회수 213


2 답변


객체에 대한 접근을 제한하기위해 캡슐화 / 은닉화 개념을 사용하는데요.

특정 데이터(private)에 대한 직접적인 접근을 제한하고 특정 메서드(public)를 통해서 데이터를 수정하기 위해서 getter/setter 를 많이 사용하고 있습니다. 저같은 경우는 getter /setter 의 사용을 최대한 자제하려 노력하나 쉽지는 않네요.

이 부분에 대해서는 많은 논쟁이 있는 것 같은데요. 많은 글들을 읽어보면서 자신의 생각을 정립해가는게 좋을 것 같습니다.

getter / setter 에 대한 저의 생각과 비슷한 글인데 정리가 잘되어있는거 같습니다. http://lacti.me/2011/10/03/getter-and-setter-at-java/

toString() 오버라딩의 많은 이유가 있겠지만, 가장 큰 이유는 객체에 대한 정보를 가장 쉽게 표현할 수 있어서가 아닐까요. toString() 을 오버라이딩하지 않았다면 주소 값이 찍힐테고. 그 주소 값으로만 객체에 대한 정보를 확인하는데는 한계가 있으니까요. 출력 함수를 사용한다면 하나하나 다 세팅을 해줘야하니 귀찮고요.

근본적인 이유는 저도 알고싶네요...

  • 2016년 09월 08일에 작성됨
    Software Engineer

  • 많은 도움 되었습니다. 정말 감사합니다.    Young Shin Kim   2016.9.8 17:53     

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close