개발자 99% 커뮤니티에서 수다 떨어요!
변수를 private으로 설정하더라도 각 값마다 get, set 함수를 제공한다면 구현을 외부로 노출하는 셈이다.
변수 사이에 함수라는 계층을 넣는다고 구현이 저절로 감춰지지는 않는다. 구현을 감추려면 추상화가 필요하다.
객체에게는 뭐라고 하라고 말해야지 속을 드러내라고 말하면 안 된다.
2024.02.04
6장 객체와 자료구조
변수를 프라이빗으로 설정하더라도 각 값마다 get, set 함수를 제공한다면 구현을 외부로 노출하는 셈이다. 119
변수 사이에 함수라는 계층을 넣는다고 구현이 저절로 감춰지지는 않는다. 구현을 감추려면 추상화가 필요하다! 119
개발자는 객체가 포함하는 자료를 표현할 가장 좋은 방법을 심각하게 고민해야한다.119
디미터 법칙은 잘 알려진 휴리스틱으로, 모듈은 자신이 조작하는 객체의 속사정을 몰라야 한다는 법칙이다. 123
자료구조는 무조건 함수 없이 공개 변수만 포함하고 객체는 비공개 변수와 공개 함수를 포함한다면, 문제는 훨씬 간단하리라. 123
객체에게는 뭐라고 하라고 말해야지 속을 드러내라고 말하면 안 된다. 125
어떤 시스템을 구현할 때, 새로운 자료 타입을 추가하는 유연성이 필요하면 객체가 더 적합하다. 다른 경우로 새로운 동작을 추가하는 유연성이 필요하면 자료 구조와 절차적인 코드가 더 적합하다. 우수한 소프트웨어 개발자는 편견 없이 이 사실을 이해해 직면한 문제에 최적인 해결책을 선택한다. 128
객체와 자료구조의 적절한 쓰임새를 알 수 있었다. 지금까지는 (무지해서) 난잡하게 코드를 작성해왔던 것 같다. 조금 더 각 쓰임새에 맞게 작성하는 습관을 들여야겠다.