-
Clean Code - 6장 객체와 자료 구조주니어 개발자 2022. 4. 10. 11:27
변수를 비공개(private)로 정의하는 이유가 있다.
남들이 변수에 의존하지 않게 만들고 싶어서다.
충동이든 변덕이든, 변수 타입이나 구현을 맘대로 바꾸고 싶어서다.
그렇다면 어째서 수많은 프로그래머가 조회(get) 함수와 설정(set) 함수를 당연하게 공개(public)해 비공개 변수를 외부에 노출할까?
자료 추상화(119.p)
구현을 감추려면 추상화가 필요하다!
추상 인터페이스를 제공해 사용자가 구현을 모른 채 자료의 핵심을 조작할 수 있어야 진정한 의미의 클래스다.
아무 생각 없이 조회/설정 함수를 추가하는 방법이 가장 나쁘다.
자료/객체 비대칭
객체는 추상화 뒤로 자료를 숨긴 채 자료를 다루는 함수만 공개한다.
자료 구조는 자료를 그대로 공개하여 별다른 함수는 제공하지 않는다.
'주니어 개발자' 카테고리의 다른 글
Clean Code - 5장 형식 맞추기 (0) 2022.04.02 Clean Code - 4장 주석 (0) 2022.03.12 Clean Code - 3장 함수 (0) 2022.03.12 Clean Code - 2장 의미 있는 이름 (0) 2022.02.26 Clean Code - 1장 깨끗한 코드 (0) 2022.02.20