티스토리 뷰


// 이런 클래스는 절대로 public으로 선언하지 말것
class Point {
    public double x;
    public double y;
}

때때로, 아무 기능도 없는 클래스를 만들고 싶어 질 때가 있다. 하지만 이런 클래스는 데이터 필드를 직접 조작할 수 있어서 캡슐화의 이점을 누릴 수가 없다. API를 변경하지 않고서는 내부 표현을 변경할 수 없고, 불편식도 강제할 수 없고, 필드를 사용하는 순간에 어떤 동작이 실행되도록 만들 수도 없다. 객체지향 개념에 충실하고자 하는 프로그래머에게 이런 클래스는 최악이다. private필드와 public 접근자 메서드(getter/setter)를 제공해야 할 것이다.

 

  • public 클래스 즉 선언된 패키지 밖에서도 사용 가능한 클래스에서는 접근자 메서드를 제공하라.
  • package-private private 중첩 클래스는 데이터 필드를 공개하더라도 잘못이라 말할 수 없다.
  • 변경 불가능 필드는 public 으로 변수 선언을 하더라도 괜찮기는 하지만 추천되지는 않는다.
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함