리팩터링 소프트웨어의 겉보기 동작은 그대로 유지한 채, 코드를 이해하고 수정하기 쉽도록 내부 구조를 변경하는 기법.
응집도 서로 밀접하게 연관 있는 속성(data)과 행동(method)이 함께 뭉쳐있는 정도.
참조 객체의 실제 위치를 가리키는 포인터.
Mutable과 Immutable Mutalbe은 객체의 수정을 허용하지만, Immutable 곧 불변성은 객체의 수정을 허용하지 않는다.