210112_JAVA_캡슐화01

정재현·2021년 1월 12일
0

TIL

목록 보기
42/80

오늘은 캡슐화를 진행한다. 2일에 걸쳐 진행할 예정.
캡슐화는 앞서 진행한 '정보 은닉'과 더불어 객체지향 기반의 클래스 설계에 있어서 가장 기본이면서 중요한 원칙 중 하나라고 한다.
클래스 안에 '무엇을 넣을까'에 대한 이론을 제시하는 내용이라고 하는데..

간단하게 한줄 요약하면

하나의 목적을 이루기 위해 관련 있는  모든 것을 하나의 클래스(캡슐)안에 담아 두는 것.

이라고 한다.
다만 무조건 많이 담는것이 캡슐화가 아니라 부족해도 안되고 넘쳐도 안된다고 한다.
(이게 말이 쉽지.. 센스가 중요하단 거지 뭐..)
그래서 캡슐화를 잘하려면 다양한 상황에서의 연습과 경험이 필요하다고 한다.

책에서는 캡슐화를 감기약에 비유해서 개념설명을 진행했는데,
bad / good 예제 하나씩을 보여줬다.

내용은 같지만 코드의 구성에서 차이가 났다.
둘이 차이점은 필요한 메서드들을 하나의 클래스에 잘 묶은 점 -> 캡슐화가 잘 되었다.
-> 코드가 매우 간단해지고 보기 좋아졌다.

예제를 예로 들면

SinusCap 인스턴스를 생성하고 take 메소드를 호출한 점.

이라고 할 수 있다.

개념적인 부분이라 그런지 쉽게 이해가 되었다.
(코딩하는 도중 갑자기 잘되서 신나가지구 tmi로 빠지지 않아야 캡슐화가 잘될듯.. )

내일은 포함관계로 이루어진 캡슐화와 문제를 풀어보겠다.
github: https://github.com/jeong-jaehyeon/JavaProject/tree/javaExercise/src

오늘의 코멘트: 내일 새로 주문한 자바책이 온다고 한다..! 폭설인데 잘 올까..?

profile
"돈받고 일하면 프로다"

0개의 댓글