커뮤니티에서 객체지향이 어렵다. 라고 이야기를 하시길래 전에 봤던 것이 생각나서 비유를 하다보니
선배개발자분들께서 이야기를 해주셨다.
클래스를 사용하지 않더라도 객체지향이라고 이야기를 할 수 있어요.
프로토타입을 추구하는 자바스크립트도 하나의 객체지향 언어라고 볼 수 있답니다.
객체지향 자체를 정의내릴 수 없어요, 정답이 없거든요.
아, 이 책 한번 보시겠어요? 도움이 될지도 몰라요.
라면서 추천받은 책이 아래에 있는 책이다.
이상한나라의 앨리스를 비유하여 이야기를 풀어나가는데 (절반정도 읽었다.) 뭐랄까, 참 이해가 잘 되게 적혀있는 책이라고 생각한다.
객체지향에서 중요한 것은 클래스가 아니라 객체라고 강조를 하는 것이라던가
SOLID원칙이 어떠한 구조로 생겨나고 있다던가
캡슐화, 디자인패턴 등등등 다양한 것들이 어떻게 발현이 되게 되었는지?에 대해서 서술이 되어있다.
사실 이것은 원래 독후감처럼 한번 정리를 해보려고 해서 아래의 사진처럼 적어보고 있었는데
글을 읽는 흐름도 너무 깨지고 그러는 것 같아서 그냥 쭈욱 읽어나가고 있다.
그런데 글을 보면서 다시 한번 느낀 것이 있었는데. 바로 구현이 중요한게 아니라는 것이였다.
솔직히 TDD (테스트 주도 개발)이라는 것을 테스트를 위한 것! 이라고 생각을 하고 있었는데
테스트는 그저 부가적인 옵션이고 완벽한 객체를 만들어가는 과정이라고 적혀있는 것을 보고
일단 코드부터 짜! 라고 이야기를 하면서 생각을 하던 나의 과거가 조금 멍청해보인다고 해야할까...
결국은 일단 어떻게 설계를 할지 명확하게 고민을 하고, 그 설계도에 맞춰서 짜는 것이 최고라는 것을
새삼 책으로 하여금 느끼고 있다.
이 책을 다 읽을 때 쯤이면 조금 더 깔끔한 코드를 짤 수 있을까? 는 아니겠지만
조금 더 생각을 하면서 코드를 짤 수 있는 사람이 될 것 같다는 생각이 든다.