Encapsulation 캡슐화

무삭이의 개발일지·2023년 3월 30일
0

캡슐화란

캡슐화란 객체 지향 프로그래밍에서 중요한 개념 중 하나이다. 객체 지향 설계에서는 데이터와 절차를 하나의 단위로 묶어 객체로 만든다. 이렇게 객체화 되어 만들어진 객체를 캡슐화 됐다고 하는데, 이는 객체 내부의 데이터와 절차를 외부로부터 감춘 것을 말한다. 캡슐화를 하면 객체의 일관성과 무결성을 보장할 수 있다는 장점이 있다.

아무래도 캡슐 안에 들어간 느낌이라 정보 은닉이 이루어진다. 정보은닉이란? 캡슐화된 객체의 데이터는 외부에서 접근이 불가하다. 그러기 때문에 외부에서는 객체의 메서드만을 통해서 기능들을 사용할 수 있다. 이렇게 데이터에 대한 접근을 제한하고 기능을 제공함으로써 객체의 안정성과 유지보수성을 높여준다. 이것이 캡슐화의 핵심 개념 정보 은닉이다.

🍄포켓몬에서 나오는 몬스터볼 느낌이다. 포켓몬을 몬스터볼로 캡슐화하여 상대로 하여금 어떤 데이터(포켓몬)가 있는지 확인 할 수 없다. 물론 기능들을 제공해줘야 하는데 불가능해서 맞지 않은 비유지만 느낌만 가져가길 바란다.

🎯가장 정확한 건 은행 계좌로 볼 수 있을 거 같다. 은행 계좌는 외부에서 직접적으로 접근할 수 없는 정보이다. 계좌 주인만이 비밀번호를 포함한 계좌의 내부 정보를 확인 하고 거래 할 수 있다. 즉 계좌 정보는 정보 은닉이 되어 있다.하지만 은행원 같은 외부인이 입출금을 해줄 수 있기 때문에 기능을 사용할 수 있는 걸 볼 수 있다.

은행 계좌로 이해하자!!!

profile
No. Try not. Do or Do not. There is no try.

0개의 댓글