티스토리 뷰
프로그래밍/Java
[이펙티브 자바] 규칙14. public 클래스 안에는 public 필드를 두지말고 접근자 메서드를 사용하라
덕's 머니스토리 2017. 11. 21. 14:32반응형
![]() |
|
// 이런 저급한 클래스는 절대 누구에게 보여주지 말 것
class Point {
public double x;
public double y;
}
이런 클래스는 데이터 필드를 직접 조작할 수 있어서 캡슐화의 이점을 누릴 수가 없다.
class Point {
private double x;
private double y;
public Point(double x, double y) {
this.x = x;
this.y = y;
}
public double getX() { return x; }
public double getY() { return y; }
public void setX(double x) { this.x = x; }
public void setY(double y) { this.y = y; }
}
- private 필드와 public 접근자 메서드(getter)로 바꿔야 마땅
- 변경 가능 클래스라면 수정자(mutator) 메서드(setter)도 제공
package-private나 private로 선언된 중첩 클래스는 데이터 필드를 공개하는 것이 바람직할 때도 있다.
(클래스 정의로 보나 클라이언트 코드로 보나, 접근자 메서드보다는 시각적으로 깔끔해 보인다)요약
- public 클래스는 변경 가능 필드를 외부로 공개하면 안 된다.
- package-private나 private로 선언된 중첩 클래스의 필드는 그 변경 가능 여부와는 상관없이 외부로 공개하는 것이 바람직할 때도 있다.
반응형
'프로그래밍 > Java' 카테고리의 다른 글
| [이펙티브 자바] 규칙16. 계승하는 대신 구성하라 (0) | 2017.11.21 |
|---|---|
| [이펙티브 자바] 규칙15. 변경 가능성을 최소화하라 (0) | 2017.11.21 |
| [이펙티브 자바] 규칙13. 클래스와 멤버의 접근 권한은 최소화하라 (0) | 2017.11.21 |
| [이펙티브 자바] 규칙5. 불필요한 객체는 만들지 말라 (0) | 2017.11.21 |
| [이펙티브 자바] 규칙4. 객체 생성을 막을 때는 private 생성자를 사용하라 (0) | 2017.11.21 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 엔비디아
- 이수페타시스
- 웹프로그래밍
- 프로그래밍
- ruby on rails
- 국제유가
- OpenStack
- HBM
- install
- 주식투자
- rabbitmq
- Java
- 티스토리 초대장
- codecademy
- 현대차
- 알고리즘
- 반도체관련주
- SK하이닉스
- 삼성전자
- javascript
- 한미반도체
- 이펙티브 자바
- Rails
- ruby
- ubuntu
- html
- 자료구조
- CSS
- 투자전략
- Message Queue
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
글 보관함
Copyright ⓒ 2018 moneystory.blog. All rights reserved.

