1. 캡슐화 (Encapsulation)
관련 있는 멤버 변수와 메서드를 하나의 클래스로 묶고 외부에서 쉽게 접근하지 못하도록 하는 기법
2. 정보 은닉
객체 지향 프로그래밍에서 접근 가능한 최소한의 정보를 오픈함으로써 객체의 오류를 방지하여 클라이언트가 객체를 더 효율적으로 활용할 수 있도록 하는 기법
1. Java 접근 제어자 (accesss modifier)
클래스 외부에서 클래스의 멤버 변수, 메서드, 생성자에 접근할 수 있는지 여부를 지정하는 키워드로써 객체의 속성들에 대한 오용 및 잘못된 접근을 막기 위함
2. Java 접근 제어자 종류
① private : 같은 클래스 내부에서만 접근 가능 (외부 클래스, 상속 관계의 클래스에서도 접근 불가)
② default : 같은 패키지 내부에서만 접근 가능 (상속 관계라도 패키지가 다르면 접근 불가)
③ protected : 같은 패키지나 상속관계의 클래스에서 접근 가능
④ public : 클래스의 외부 어디서나 접근 할 수 있음
3. get / set 메서드
4. 정보 은닉 구현
public class MakeReport {
StringBuffer buffer = new StringBuffer();
private String line = "===========================================\n";
private String title = " 이름\t 주소 \t\t 전화번호 \n";
private void makeHeader()
{
buffer.append(line);
buffer.append(title);
buffer.append(line);
}
private void generateBody()
{
buffer.append("James \t");
buffer.append("Seoul Korea \t");
buffer.append("010-2222-3333\n");
buffer.append("Tomas \t");
buffer.append("NewYork US \t");
buffer.append("010-5555-6666\n");
}
private void makeFooter()
{
buffer.append(line);
}
public String getReport()
{
makeHeader();
generateBody();
makeFooter();
return buffer.toString();
}
}