본격적인 설명에 앞서서 앞으로 몇개의 포스팅동안 객체지향 프로그래밍(OOP, Object Oriented Programming)과 그것의 기본 원칙인 SOLID 원칙에 대해서 다뤄보도록 하겠다. OOP를 이해하려면 몇가지 중요한 개념을 알아야하는데 이 개념이 지나치게 추상적이다. 객체라는 말 자체도 일상적으로 사용하는 언어가 아닐뿐더러 OOP의 중요 개념들이 한번에 정의 내리기가 어렵다. 프로그래밍을 시작한지 얼마되지 않아 "객체 지향의 사실과 오해" 라는 책을 읽은 적이 있다. 읽으면서 이게 철학책인지 기술서적인지 굉장히 혼란스웠다. 저자는 이상한 나라의 앨리스에서 나오는 등장인물을 통해 OOP에서 사용하는 개념인 캡슐화, 상속, 책임, 메세지와 같은 단어들의 개념을 하나씩 설명해준다. 물론 익숙한 이..