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() + "입니다.") ; } } |
- 실행 결과
'프로그래밍 > 초보자를 위한 Java 프로그래밍 입문' 카테고리의 다른 글
19. 클래스의 확장 - 상속(2) (0) | 2013.03.04 |
---|---|
18. 클래스의 확장 - 상속(1) (0) | 2013.03.03 |
16. 생성자 (0) | 2013.03.01 |
15. 클래스 기반의 프로그래밍 (0) | 2013.02.28 |
14. 클래스에 대하여 (0) | 2013.02.27 |