728x90
728x90
학습내용
- 캡슐화의 개념과 사용하는 이유 알기
💊 의도적으로 정보를 제어하는 캡슐화
접근 제어 지시자를 활용한 '정보 은닉'이라는 개념이은 JAVA의 문법 하나의 개념이었습니다.
캡슐화는 개발자가 의도적으로 접근제어 지시자를 활용하여 변수 속성이나, 메서드의 공개여부를 컨트롤 하는 것을 의미합니다.
🎈 캡슐화를 해야 하는 이유
- 클래스에서 필요한 정보만 공개하여 Client의 불필요한 접근을 제한.
- 클래스의 기능을 구현하는 데 필요한 변수나 메서드는 비공개하고, 통합된 인터페이스로 외부에 제공.
- 에러나 오류가 발생했을 때 제공한 인터페이스만 확인하면 되어 디버깅 편리.
레포트 만들기 예제 코드
MakeReport
StringBuffer를 사용해서 Report를 지정한 양식대로 그려주는 Class
사용자에게는 getReport()라는 Public 메서드만을 제공
package unit11_캡슐화;
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("New York \t");
buffer.append("010-2324-3553\n");
}
private void makeFooter() {
buffer.append(line);
}
public String getReport() {
makeHeader();
generateBody();
makeFooter();
return buffer.toString();
}
}
MakeReportTest
해당 객체를 새롭게 생성해주고, 사용자는 getReport()만 접근하여 사용 가능.
package unit11_캡슐화;
public class MakeReportTest {
public static void main(String[] args) {
MakeReport builder = new MakeReport();
String report = builder.getReport();
System.out.println(report);
}
}
728x90
728x90
'JAVA_SPRING' 카테고리의 다른 글
[JAVA] 객체 지향 프로그래밍 실습 예제 -Take (0) | 2022.10.04 |
---|---|
[JAVA] 객체 자신을 가리키는 this 개념 및 사용법 (0) | 2022.09.26 |
[JAVA] 접근 제어 지시자_정보 은닉 정리 (0) | 2022.09.22 |