정보 은닉을 활용한 캡슐화
- 꼭 필요한 정보와 기능만 외부에 오픈함
- 대부분의 멤버 변수와 메서드를 감추고 외부에 통합된 인터페이스만은 제공하여 일관된 기능을 구현 하게 함
- 각각의 메서드나 멤버 변수를 접근함으로써 발생하는 오류를 최소화
예제 코드
package javaEx.chap02;
public class MakeReport {
StringBuffer bf = new StringBuffer();
private String line = "================================\n";
private String title = " 이름\t 주소\t\t 전화번호 \n";
private void makeHeader() {
bf.append(line);
bf.append(title);
bf.append(line);
}
private void generateBody() {
bf.append("James \t");
bf.append("Seoul Korea \t");
bf.append("010-2222-3333\n");
bf.append("Tomas \n");
bf.append("NewYork US \t");
bf.append("010-7777-0987\n");
}
private void makeFooter() {
bf.append(line);
}
public String getReport() {
makeHeader();
generateBody();
makeFooter();
return bf.toString();
}
}
/////////////////////////////////////////////////////////
package javaEx.chap02;
public class MakeReportTest {
public static void main(String[] args) {
MakeReport builder = new MakeReport();
String report = builder.getReport();
System.out.println(report);
}
}
///////////////////////////////////////////////////////////
this란?
- 인스턴스 자신의 메모리를 가리킴
- 생성자에서 또 다른 생성자를 호출할 때 사용
- 자신의 주소(참조값)을 반환 함
'java' 카테고리의 다른 글
객체간의 상속 (0) | 2021.07.18 |
---|---|
static 변수 / 싱글톤 패턴 / 배열 (0) | 2021.07.18 |
접근 제어 지시자와 정보은닉 (0) | 2021.07.16 |
생성자란 (0) | 2021.07.08 |
객체 (0) | 2021.07.07 |