본문 바로가기
프로그래밍 놀이터/디자인 패턴, 리펙토링

[Design Pattern/Java] public 클래스에서는 public 필드가 아닌 접근자 ( accessor ) 메소드를 사용한다.

by 돼지왕 왕돼지 2012. 3. 14.
반응형


안녕하세요 돼지왕 왕돼지입니다

오늘은 "public 클래스에서는 public 필드가 아닌 접근자 ( accessor ) 메소드를 사용한다." 를 주제로 이야기하고자 합니다.

이 글은 "Effective Java" 의 내용을 정리한 것입니다.



오늘 내용은 매우 simple 합니다.

결론적으로.

public 클래스는 자신의 가변 필드를 절대로 외부에 노출시키지 않아야 하며, 논란의 여지는 있으나 불변 필드를 노출하는 것은 그나마 덜 해롭다. 패키지 전용이나 private 중첩 클래스의 경우 필요하다면 필드( 가변이나 불변에 관계 없이 ) 를 노출 할 수 있다.

 

요 녀석입니다.

즉, 이전 시간에 다뤘던 encapsulation 에서도 말했듯이 public field 를 노출시키는 것은 매우 해롭다는 것입니다.
2012/03/13 - [프로그래밍 놀이터/디자인 패턴] - [Design Pattern/Java] 클래스와 그 멤버의 접근성을 최소화하자.

OOP 관점에서 볼때 무조건 accessor ( getter 와 setter ) 를 제공하는 것이 좋다는 이야기지요. 
 

도움이 되셨다면 손가락 꾸욱~
반응형

댓글