블로그 이미지
주로 인재개발원 등의 사이버학습을 정리, 요약하는 상시학습 블로그입니다. 깨비형
« 2017/11 »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

Archive»

체험 블로그 마케팅 서비스 OLPOST

Category»

Notice»

Statistics Graph

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() + "입니다.") ;

      }

 }


- 실행 결과


저작자 표시 동일 조건 변경 허락
신고