객체 내부의 구조*를 외부로부터 숨기고 메세지만으로 객체와 통신하도록 하는 것
*객체 내부의 구조 : 멤버변수 및 메서드 처리과정
- 클래스 정의 시, 멤버변수에 private 접근제한자를 사용하여 외부 접근 차단
- 메서드는 public 접근제한자를 사용하여 선언된 Getter/Setter 메서드 정의
-> 간접적으로 객체 내의 멤버변수에 접근하도록 하기 위함
2-1 ) Getter 메서드 : 내부 멤버변수의 값을 외부로 리턴 / 파라미터 x 리턴값 ㅇ
2-2 ) Setter 메서드 : 외부로부터 전달받은 값을 내부 멤버변수에 저장 / 파라미터 ㅇ 리턴값 x
Person 클래스 생성 및 캡슐화
class Person {
// 멤버변수 선언
private String name;
private int age;
// 메서드 선언
// 1) name
public void setName (String name) {
this.name = name;
}
public String getName () {
return name;
}
// 1) age
public void setAge (int age) {
this.age = age;
}
public int getage () {
return age;
}
}
메인에서 객체 생성 및 접근
Person p = new Person();
p.setName("이도현"); // 저장
System.out.println(p.getName()); // 호출
p.setAge(30); //배우와 무관합니다..!
System.out.println(p.getAge());
이걸 언제 쓰는지는 모르겠지만 일단 이해 완
이거만 기억하면 될듯
1. 멤버변수 생성은 private를 붙인다
2. 메서드 생성은 getter/setter를 이용한다