#Java Encapsulation



#Encapsulation

중요한 데이터나 복잡한 구현을 숨기고, 사용에 꼭 필요한 기능만을 공개하여 정의하는 기법

-중요하거나 상세한 구현은 숨긴다 (private)
-접근에 필요한 기능만을 public 하게 공개한다.
-set..(), get...()을 통해 접근한다
-data :private
-method:public
중요한 데이터의 은닉과 보고
복잡하고 상세한 구현을 숨김


#getter, setter

캡슐화의 사용 도구이다.
우선 사용하는 가장 큰 이유는 직접 접근이 불가능하게 하기 위함이다.

ex) cc.num =123 같은 경우에는 잘못된 데이터가 들어와도 거를수가 없다

getter와 setter 를 이용하면 if문으로 조건을 확인하고 수행할 수있다.
Source 에서 자동으로 추가가 가능하니까 그렇게 사용하면 된다.

public void setNum(int num) {
        if(num>0) {
            this.num = num; //0보다 큰 값만 num에 저장.
        }else {
            System.out.println("잘못된 값 입니다");
        }
        
    }

캡슐화를 하는 이유를 아는게 중요하다.
get , set 방식을 사용해도 데이터에 저장이 가능하고 접근이 가능하다.
그래도 캡슐화를 하는 이유는, 들어오는 데이터에 직접 접근하지 못하게 하기 위함인데 잘못입력된 값이 들어왔을때는 바로 저장하는게
아니라 한번 더 제한 조건을 줄수있도록 한다.








+ Recent posts