Notice»

Statistics Graph

 

'클래스의 보호'에 해당되는 글 1

  1. 2013.03.02 17. 클래스의 보호
 

1. 클래스의 보호


○ 클래스는 서로 편하게 주고 받을 수 있는 장점이 있는 반면 클래스 원본의 모습이 완전히 변경될 수 있는 단점도 가지고 있다.


○ 클래스 보호방법

- 클래스 내부의 변수는 절대 수정하거나 변경하지 말 것(사용자가 임의로 변수를 수정하거나 변경하지 못하도록 안전장치를 해놓는 방법)

- 클래스 자체의 기능은 그대로 사용

- 부득이한 경우 함수를 통해서만 클래스에 접근


○ 보호받는 클래스 : 변수나 함수 앞에 private 을 추가

 class BaseballPlayer()

 {

      private String name ;

      private int age, int height, int weight ;

      …

 }


- private의 반대말은 public


○ private과 public 사용 예 : private_public.java

 class BaseballPlayer

 {

      private String name = null ;

      private int age, height, weight ;


      BaseballPlayer(String n)

      {

            name = n ;

      }


      private void eat()  {

           System.out.println(name + "가 먹는다.") ;

      }

      public void run()  {

           System.out.println(name + "가 달린다.") ;

      }

 }


 class private_public

 {

      public static void main(String args[])

      {

           BaseballPlayer park = new BaseballPlayer("박찬호") ;

           park.eat() ;

      }

 }


- 컴파일 결과 


private을 public으로 수정한 뒤 실행 결과


○ 함수를 이용한 접근 예

 class BaseballPlayer

 {

      private String name = null ;

      private int age, height, weight ;


      BaseballPlayer(String n)

      {

            name = n ;

      }


      public void eat()  {

           System.out.println(name + "가 먹는다.") ;

      }

      public void run()  {

           System.out.println(name + "가 달린다.") ;

      }


      /* private로 선언된 age 변수에 값을 대입 */

      public void setAge(int aa)  {

           age = aa ;

      }


      /* private로 선언된 age 변수의 값을 리턴 */

      public int getAge()  {

           return age ;

      }

 }


 class private_public_02

 {

      public static void main(String args[])

      {

           BaseballPlayer park = new BaseballPlayer("박찬호") ;

           park.setAge(30) ;

           System.out.println("박찬호의 나이는 " + park.getAge() + "입니다.") ;

      }

 }


- 실행 결과


댓글을 달아 주세요