getter/setter/toString() 하는이유?
조회수 5220회
-
(•́ ✖ •̀)
알 수 없는 사용자
2 답변
-
객체에 대한 접근을 제한하기위해 캡슐화 / 은닉화 개념을 사용하는데요.
특정 데이터(private)에 대한 직접적인 접근을 제한하고 특정 메서드(public)를 통해서 데이터를 수정하기 위해서 getter/setter 를 많이 사용하고 있습니다. 저같은 경우는 getter /setter 의 사용을 최대한 자제하려 노력하나 쉽지는 않네요.
이 부분에 대해서는 많은 논쟁이 있는 것 같은데요. 많은 글들을 읽어보면서 자신의 생각을 정립해가는게 좋을 것 같습니다.
getter / setter 에 대한 저의 생각과 비슷한 글인데 정리가 잘되어있는거 같습니다. http://lacti.me/2011/10/03/getter-and-setter-at-java/
toString() 오버라딩의 많은 이유가 있겠지만, 가장 큰 이유는 객체에 대한 정보를 가장 쉽게 표현할 수 있어서가 아닐까요. toString() 을 오버라이딩하지 않았다면 주소 값이 찍힐테고. 그 주소 값으로만 객체에 대한 정보를 확인하는데는 한계가 있으니까요. 출력 함수를 사용한다면 하나하나 다 세팅을 해줘야하니 귀찮고요.
근본적인 이유는 저도 알고싶네요...
-
자바이펙티브 저서에 나온 내용입니다. 참고하세요
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력