Java
[Effective Java] 아이템 16. public 클래스에서는 public 필드가 아닌 접근자 메서드를 사용하라.
quedevel
2022. 5. 24. 14:04
728x90
반응형
이전 코드
public class Point { // public public double x; public double y; }
변경 후 코드
public class Point { // private private double x; private double y; // getter, setter 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; } }
public
클래스는 절대 가변 필드를 직접 노출해서는 안 된다. 불변 필드라면 노출해도
덜 위험하지만 완전히 안심할 수는 없다. 하지만package-private
클래스나private
중첩 클래스에서는 종종 (불변이든 가변이든) 필드를 노출하는 편이 나을 때도 있다.
참고 자료
Joshua Bloch, 『Effective Java 3/E』, 개앞맵시 옮김, 프로그래밍인사이트(2018)
http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788966262281&orderClick=LEa&Kc=
728x90
반응형