본문 바로가기

java

캡슐화 , this

정보 은닉을 활용한 캡슐화

 

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

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

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

 

예제 코드

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