리스코프의 치환 원칙과 abstract 객체지향 5가지 원칙에 대한 강의를 들었다. 이론으로 설명만 듣는 것이 아니라 코드로 직접 리팩토링해보듯이 체험해보니 이해가 더 잘되었다. 여태 내가 작성한 많은 코드들이 머릿속을 스쳐지나가는 수업이었는데, 개인적으로 충격먹은 원칙이 있다. 그것은 바로 리스코프 치환 원칙!!! 리스코프 치환 원칙은 자식 타입은 언제나 부모 타입으로 교체될 수 있어야 한다는 원칙이다. 오버라이드한 함수에서 base.함수(); 를 지워서 오버라이드된 부분만 실행시키는 행위를 하지 말라는 것이다!! 대신 애초에 그런 함수는 abstract 메서드로 만들어서 추상화를 시키라는 것. 여태 오버라이드하고 base.함수()를 안하고 사용했기 때문에 오늘 내 코딩세상이 무너질뻔했다. 지금 충격..