다른 객체에게 자신의 정보(멤버변수)를 숨기고, 자신의 동작, 기능, 연산(멤버함수)만을 통해 접근을 허용하는 것으로, 클래스 외부에서 특정 정보에 대한 접근을 막는다는 것을 의미한다.
정보 은닉된 정보에 접근하기 위한 메서드
public class PersonVO {
private String name;
private int age;
private String phone;
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getName() {
return this.name;
}
public int getAge() {
return this.age;
}
public String getPhone() {
return this.phone;
}
}
public class PersonVO {
public String name;
public int age;
public String phone;
// 멤버변수 초기화
public PersonVO() {
this.name = "이름";
this.age = 0;
this.phone = "전화번호";
}
}
public class PersonVO {
public String name;
public int age;
public String phone;
// 멤버변수 초기화
public PersonVO() {
this.name = "이름";
this.age = 0;
this.phone = "전화번호";
}
// 오버로딩
public PersonVO(String name, int age, String phone) {
this.name = name;
this.age = age;
this.phone = phone;
}
}
public class PersonVO {
public String name;
public int age;
public String phone;
public String toString() {
return this.name + "\t" + this.age + "\t" + this.phone;
}
}
System.out.println(personVO.toString()); // dean 32 010-0000-0000
System.out.println(personVO); // dean 32 010-0000-0000
객체 출력 시 toString() 생략하여도, 컴파일러는 toString() 메서드를 찾아서 호출한다.