개발자 99% 커뮤니티에서 수다 떨어요!
TIL (Today I Learned)
2022.03.01
오늘 읽은 범위
6장. 객체와 자료 구조
책에서 기억하고 싶은 내용을 써보세요.
객체는 동작을 공개하고 자료를 숨긴다. 그래서 기존 동작을 변경하지 않으면서 새 객체 타입을 추가하기는 쉬운 반면, 객체에 새 동작을 추가하기는 어렵다.
자료 구조는 별다른 동작 없이 자료를 노출한다. 그래서 기존 자료 구조에 새 동작을 추가하기는 쉬우나, 기존 함수에 새 자료 구조를 추가하기는 어렵다.
시스템을 구현할 때 새로운 자료 타입을 추가하는 유연성이 필요하면 객체가 더 적합. 다른 경우로 새로운 동작을 추가하는 유연성이 필요하면 자료 구조와 절차적인 코드가 더 적합. 우수한 소프트웨어 개발자는 편견없이 이 사실을 이해해 직면한 문제에 최적인 해결책을 선택한다.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
자바를 많이 다뤄보지 않아서 술술 읽히지는 않았지만 객체 지향형 프로그래밍과 절차 지향형 프로그래밍의 장단점을 알게 되어 재밌었다.
내가 주로 사용하는 리액트는 함수형 프로그래밍 방식이라고 알고 있었지만 이번 기회에 궁금하여 함수형과 객체 지향형, 절차 지향형 각각의 특징을 알아보게 되어 조금 더 넓은 견해를 갖게 된 것 같다.
프로그래밍 패러다임 중에서 '어느 것이 정답이다' 라는 것은 없기 때문에 상황과 목적에 맞게 선택을 하는 것이 중요할 것 같다. 그리고 단순히 하나의 패러다임만으로 개발해 온 개발자보다 여러 방식을 써 본 개발자가 더 잘 판단할 수 있기 때문에 나중에 OOP도 심도있게 공부해볼까 한다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.