본문 바로가기
프로그래밍 언어/JAVA(자바) 응용

11.캡슐화(encapsulation)

by lroot 2022. 5. 22.
728x90
반응형

정보 은닉을 활용한 캡슐화

- 꼭 필요한 정보와 기능만 외부에 오픈함

- 대부분의 멤버 변수와 메서드를 감추고 외부에 통합된 인터페이스만은 제공하여 일관된 기능을 구현하게 함

- 각각의 메서드나 멤버 변수를 접근함으로써 발생하는 오류를 최소화한다.

 

예제

- MakeReport.java

public class MakeReport {

StringBuffer buffer = new StringBuffer();

private String line = "\n=======================================\n";
private String title = " 이름\t   주소\t           전화번호 \n";
private void makeHeader()
{
buffer.append(line);
buffer.append(title);
buffer.append(line);
}

private void generateBody()
{
buffer.append("lRoot\t");
buffer.append("Seoul Korea\t");
buffer.append("010-2222-2222\t");
buffer.append("\n");

buffer.append("rRoot\t");
buffer.append("NewYork US\t");
buffer.append("010-1111-1111");
}

private void makeFooter()
{
buffer.append(line);
}

public String getReport()
{
makeHeader();
generateBody();
makeFooter();
return buffer.toString();
}

}

 

- MakeReportTest.java

public class MakeReprotTest {

public static void main(String[] args) {

MakeReport build = new MakeReport();
String report = build.getReport();

System.out.println(report);


}

}

댓글