반응형
정보를 은닉해야 하는 이유
class Circle {
private double rad = 0; // 원의 반지름
final double PI = 3.14;
public Circle(double r) {
setRad(r);
}
public void setRad ( double r ) {
if ( r<0 ) {
rad = 0;
return;
}
rad = r ;
}
public double getArea() {
return ( rad * rad ) * PI;
}
public static void main ( String args[] ) {
Circle c = new Circle(1.5);
System.out.println ( c.getArea() );
c.setRad(2.5);
System.out.println(c.getArea());
c.setRad(-3.3);
System.out.println(c.getArea());
c.rad = -4.5; // 컴파일 오류 발생 안함
System.out.println(c.getArea());
}
}
원의 반지름은 음수가 될 수 없다는 조건이 필요 하기 때문에
직접 접근하기 보다는 setRad 메서드로 접근하여 조건에 맞게 값을 세팅 해줘야 한다!!
private 필요!!
반응형
'# 02 > Java' 카테고리의 다른 글
[윤성우의 열혈자바] 10-1. static 선언을 붙여서 선언하는 클래스 변수 (0) | 2019.10.18 |
---|---|
[윤성우의 열혈자바] 9-2. 접근 수준 지시자 (0) | 2019.10.18 |
[윤성우의 열혈자바] 7-1. 클래스의 정의와 인스턴스의 생성 (0) | 2019.10.18 |
[윤성우의 열혈자바] 5-2. switch와 break (0) | 2019.10.18 |
[윤성우의 열혈자바] 5-1. if 그리고 else (0) | 2019.10.18 |