캡슐화(Encapsulation)


캡슐화(Encapsulation)

데이터 + 관련 기능 묶는 것 객체가 기능을 어떻게 구현했는 지 외부에 감추는 것이다. 구현에 사용된 데이터의 상세 내용을 외부에 감춘다. 정보 은닉 의미 포함한다. 외부에 영향 없이 객체 내부 구현 변경 가능 무슨 의미인 지? 캡슐화를 하지 않으면 요구사항의 변화가 데이터 구조/사용에 변화를 발생시킨다. 데이터를 사용하는 코드의 수정 발생 캡슐화를 하면 기능을 제공하고 구현 상세를 감춘다. 내부 구현만 변경하면 된다. 캡슐화는 연쇄적인 변경 전파를 최소화한다. 요구사항의 변화가 내부 구현을 변경한다. 캡슐화 시도 -> 기능에 대한 의도 이해를 높인다. 캡슐화 규칙 Tell, Don't Ask 데이터 달라하지 말고 해달라고 하기 Demeter's law 메서드에서 생성한 객체의 메서드만 호출 파라미터로 받은 객체의 메서드만 호출 필드로 참조하는 객체의 메서드만 호출 가능라면 객체 그래프를 따라서 객체를 get,get,get 하는 형태로 작성하지 말고 바로 접근할 수 있는 객체의 메서...


#jajva #java #oop #캡슐화

원문링크 : 캡슐화(Encapsulation)