
캡슐화

·
Programming/Refactoring
모듈을 분리하는 가장 중요한 기준은 시스템에서 각 모듈이 자신을 제외한 부분에 드러내지 않아야 할 비밀을 얼마나 잘 숨기느냐에 있다. 이 장에서는 다양한 캡슐화 기법을 소개한다. 이 기법들을 활용하여, 레코드, 임시변수, 클래스 사이 관계 등을 캡슐화할 수 있다.레코드 캡슐화하기배경대부분의 프로그래밍 언어는 구조체(struct), 레코드(record), 딕셔너리(dictionary) 등으로 데이터를 표현한다. 하지만 이 방식은 "계산된 값"과 "저장된 값"을 구분 없이 다루기 때문에, 코드의 의도를 파악하거나 데이터를 수정하기가 어렵다.이런 이유로 가변 데이터를 표현할 때는 레코드보다 객체를 선호한다. 객체는 내부 구조를 감추고, 메서드를 통해 값을 제공함으로써 캡슐화의 이점을 누릴 수 있다. 이렇게 하..