기억하고 싶은 부분
- “변수를 비공개로 정의하는 이유가 있다. 남들이 변수에 의존하지 않게 만들고 싶어서다.”
- private처리하는 목적으로 가져다 쓰는 입장에서는 내부가 어떻게 되어있든 혹은 특정 값에는 접근하지 못하게 하고 싶어서라고만 생각했었다.
- 같은 것을 의미하는 것일수도 있지만 조금은 다른 관점에서 private를 바라보았다는 생각이 든다.
- “변수를 private으로 선언하더라도 각 값마다 get함수와 set함수를 제공한다면 구현을 외부로 노출하는 셈이다”
- “인터페이스와 get/set 함수만으로는 추상화가 이뤄지지 않는다. 개발자는 객체가 포함하는 자료를 표현할 가장 좋은 방법을 심각하게 고민해야 한다. 아무 생각 없이 get/set 함수를 추가하는 방법이 가장 나쁘다.”
- private로 선언한 경우 밖에서도 써야한다면 get,set을 넣어주었었다 이 글을 읽고보니 그 동안에 처리는 그다지 사려 깊은 방법은 아니었다 싶다
소감
- 이번 장도 예시를 통해 설명되어서 이해하기 좋았다
- private, getter, setter 그리고 더 나은 추상화에 대해 생각해볼 수 있어 의미 있었고 좀 더 깊은 생각을 위해 다시 한번 읽어봐야겠다
'CS > CS Book' 카테고리의 다른 글
[Clean Code | 9장 단위 테스트 ] Day14 (0) | 2024.02.10 |
---|---|
[Clean Code | 7장 오류처리 ] Day10~12 (0) | 2024.02.08 |
[Clean Code | 5장 형식 맞추기 ] Day08 (0) | 2024.02.04 |
[Clean Code] Day07 Practice (0) | 2024.02.04 |
[Clean Code | 4장 주석] Day05, 06 (0) | 2024.02.02 |