JAVA / 캡슐화(encapsulation)

아몬드봉봉·2023년 12월 12일
0

Java

목록 보기
6/17

정보 은닉을 활용한 캡슐화

  • 변수와 함수(메서드)를 하나의 단위로 묶는 것을 의미함, 데이터의 번들링을 뜻한다.
  • 꼭 필요한 정보와 기능만 외부에 오픈함
  • 대부분의 멤버 변수와 메서드를 감추고 외부에 통합된 인터페이스만은 제공하여 일관된 기능을 구현 하게 함
  • 각각의 메서드나 맴버 변수를 접근함으로써 오류를 최소화한다.
  • 연관된 목적을 가지는 변수와 함수를 하나의 클래스로 묶어 외부에서 쉽게 접근하지 못하도록 은닉하는 것
  • 중요한 데이터를 쉽게 바꾸지 못하도록 할 때 사용
  • 객체 내의 정보 손상과 오용을 방지하고 데이터가 변경되어도 다른 객체에 영향을 주지 않아 독립성이 좋다.

캡슐화 예제

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("020-7777-0987\n");
    }
    
    private void makeFooter() {
        buffer.append(line);
    }
    
    public String getReport() {
        makeHeader();
        generateBody();
        makeFooter();
        return buffer.toString();
    }
    
}
 
----------------------------------------------------------
 
public class MakeReportTest {
 
    public static void main(String[] args) {
        MakeReport builder = new MakeReport();
        String report = builder.getReport();
        
        System.out.println(report);
        
    }
    
}

출처

https://jaynamm.tistory.com/entry/JAVA-%EC%9E%90%EB%B0%94-%EC%BA%A1%EC%8A%90%ED%99%94-Encapsulation
https://velog.io/@yooil605/JAVA-Encapsulation

profile
성장을 즐기는 백엔드 자바 개발자

0개의 댓글

관련 채용 정보