본문 바로가기
Back-End/Java

[Java] 객체 지향 언어(OPP) 특징 - 정보은닉 / 캡슐화

by nanee_ 2021. 8. 30.
728x90
반응형
SMALL

정보 은닉 (Information Hiding)

모든 객체지향 언어적 요소를 활용하여 객체에 대한 구체적인 정보를 노출시키지 않도록 하는 기법으로

객체 지향 언어의 특성 중 하나이다.

 

객체 지향 프로그램에서 정보은닉은 필요한 외부에서 접근 가능한 최소한의 정보를 오픈함으로써 객체의 오류를 방지하고 클라이언트 객체가 더 효율적으로 객체를 활용할 수 있도록 해준다.

 

정보은닉 연습해보기

class Bank : balance(잔고)를 외부에서 접근하지 못하도록 한다. 출금/입금/정보출력 메서드 생성한다.

class BankMainTest : Bank 클래스를 인스턴스화 해서 메서드를 구현해본다.

 

public class Bank{

    // 멤버변수
    private int balance; // 잔고
    
    // 입금 메서드
    public void deposit(int money){
    	this.balance += money;
        System.out.println(money + "원이 입금되었습니다.");
    }
    
    // 출금 메서드
    public void withdraw(int money){
    	this.balance -= money;
        System.out.println(money + "원이 출금되었습니다.");
    }
    
    // 잔액 정보 출력 메서드
    public void showInfo(){
    	System.out.println("현재 잔액은 " + this.balance + " 입니다.");
    }

}

 

pubic class BankMainTest{
   
   public static void main(String[] args){
   
       // 인스턴스화
       Bank bank = new Bank();
       
       // 메서드 사용해보기
       bank.deposit(10_000);
       bank.withdraw(5_000);
       bank.showInfo();
   }
}

 

 

 

캡슐화 (Encapsulation)

: 정보은닉을 활용한 것으로 꼭 필요한 정보와 기능만 외부에 오픈한다.

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

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

 

 

 

 

 

 

 

 

728x90
반응형
LIST