2013년 9월 25일 수요일

자바 접근제어, public, private, 클래스, 메소드, 페키지 접근제어

자바 접근제어, public, private, 클래스, 메소드, 페키지 접근제어
자바에서 아무 접근 제어자를 쓰지 않을 경우 package protected(default)로 설정
- 같은 패키지, 폴더 내에서 접근가능

[그림]같은 패키지내의 접근제어, privtae만 접근 불가!


[그림]다른 패키지내의 접근제어, public만 접근 가능!

class Circle
{
 //아래 private으로 선언한 변수는 Circle안에서만 접근 가능
    private double area = 0;
    public void setRadius( double r )
    {
        area = Math.PI * r * r;
    }
    public double getArea()
    {
        return area;
    }
    public void display()
    {
        System.out.println("면적은?  " +Math.sqrt( area / Math.PI ) + " = " + getArea() );
    }
}

class AccessTest
{
    public static void main( String args[] )
    {
        Circle circle1 = new Circle();
        Circle circle2 = new Circle();
       
        circle1.setRadius( 1 );
        circle2.setRadius( 2 );
       
        circle1.display();
        circle2.display();
       
        double sumAreas = circle1.getArea() + circle2.getArea();
       
        System.out.println( "Sum of areas of circle1 and circle2 = "
                            + sumAreas );
        //System.out.println( circle1.area ); // 오류: 접근 불가, 아래처럼접근
        System.out.println( circle1.getArea() );
    }
}
면적은?  1.0 = 3.141592653589793
면적은?  2.0 = 12.566370614359172
Sum of areas of circle1 and circle2 = 15.707963267948966
3.141592653589793
[출처] 오라클자바커뮤니티 - http://www.oraclejavanew.kr/bbs/board.php?bo_table=LecJava&wr_id=589



오라클자바커뮤니티에서 설립한 개발자교육6년차 오엔제이프로그래밍 실무교육센터
(오라클SQL,튜닝,힌트,자바프레임워크,안드로이드,아이폰,닷넷 실무개발강의)  


댓글 없음:

댓글 쓰기