본문 바로가기

# 02/Java

[윤성우의 열혈자바] 9-1. 정보 은닉

반응형

정보를 은닉해야 하는 이유



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 필요!!




반응형