캡슐화 (encapsulation)

일상 코딩·2022년 8월 1일

01.정보 은닉을 활용한 캡슐화

  • 연관된 목적을 가지는 변수와 함수를 하나의 클래스로 묶어 외부에서 쉽게 접근하지 못하도록 은닉하는 것이다.
  • 대부분의 멤버 변수와 메서드를 감추고 외부에 통합된 인터페이스만은 제공하여 일관된 기능을 구현 하게 한다.
  • 캡슐화는 중요한 데이터를 쉽게 바꾸지 못하도록 할 때 사용한다.
  • 각각의 메서드나 멤버 변수를 접근함으로써 발생하는 오류를 최소화 한다.

02.레포트 만들기 예제

MakeReport.java

package ch11;

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-7777-0987\n");
	}
	
	private void makeFooter() {
		buffer.append(line);
	}
	
	public String getReport() { // 캡슐화
		makeHeader();
		generateBody();
		makeFooter();
		return buffer.toString();
	}	
}

MakeReportTest.java

package ch11;

public class MakeReportTest {

	public static void main(String[] args) {
	
		MakeReport report = new MakeReport();
		String builder = report.getReport();
		
		System.out.println(builder);
	}
}

출력 결과

profile
일취월장(日就月將) - 「날마다 달마다 성장하고 발전한다.」

0개의 댓글