반응형
class Time {
private int hour; //0~23값을 가져야함. 손대면 안됨.
private int minute;
private int second;
}
public class TimeTest {
public static void main(String[] args) {
TimeTest t = new TimeTest();
t.hour = 100;
System.out.println(t.hour);
}
}
//Time 클래스에서 private로 캡슐화를 했기 때문에 다른 클래스에서 변경 불가
만약 private가 아니라 public으로 멤버변수를 선언하면, 다른 객체에서 멤버 변수에 직접 접근하여 값을 변경할 수 있다.
hour은 0보다는 같거나 크고 24보다는 작은 범위의 값을 가져야 한다. hour 값을 위 식처럼 범위를 벗어난 값을 넣어도 막을 수 없다. 이를 막기 위해 private 접근 제어자를 쓰는 것이다. 외부로부터 클래스 내부에 선언된 데이터를 보호하기 위해서 private 접근 제어자를 쓰는 것이다.
반응형
'Java' 카테고리의 다른 글
Java println 출력이 되지 않는 이유 (0) | 2023.03.30 |
---|---|
Java 메서드 return에 대해서 (0) | 2023.03.30 |
Java 이중 for문 개념. 백준 문제 2440번 풀기. (0) | 2023.03.22 |
제어자(modifiers)는 무엇인가? (0) | 2023.03.19 |
java에서 타입 간의 변환방법 (0) | 2023.03.17 |