정보 은닉을 활용한 캡슐화
- 꼭 필요한 정보와 기능만 외부에 오픈함
- 대부분의 멤버 변수와 메서드를 감추고 외부에 통합된 인터페이스만은 제공하여 일관된 기능을 구현하게 함
- 각각의 메서드나 멤버 변수를 접근함으로써 발생하는 오류를 최소화 함
레포트 만들기 예제
MakeReport.java
package ch11;
public class MakeReport {
StringBuffer buffer = new StringBuffer(); // Buffer를 사용
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-7777-0987\\n");
}
private void makeFooter() {
buffer.append(line);
}
**public String getReport() { // 여기만 public이다.**
makeHeader();
generateBody();
makeFooter();
**return buffer.toString(); // Buffer에 담긴 것을 String으로 반환**
}
}
TestReport.java
package ch11;
public class TestReport {
public static void main(String[] args) {
MakeReport report = new MakeReport();
String builder = report.getReport();
System.out.println(builder);
}
}
결과
2023 KAKAO Tech Campus_BackEnd 필수 과정
Java 1주차 강의 정리 내용입니다.
'개발 > Java' 카테고리의 다른 글
[1주차] Java 중급 - 객체 간의 협력(collaboration) (0) | 2023.06.24 |
---|---|
[1주차] Java 중급 - 객체 자신을 가리키는 this (0) | 2023.06.24 |
[1주차] Java 중급 - 접근 제어 지시자(access modifier)와 정보 은닉(infomation hiding) (0) | 2023.06.24 |
[1주차] Java 중급 - 참조 자료형 변수 (0) | 2023.06.24 |
[1주차] Java 중급 - 복습해봅시다(객체 구현하기) (0) | 2023.06.24 |