ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Object-based Design, not strict object-oriented programming
    DEV 2021. 7. 18. 14:04

    Udacity에서 밀린 파이썬 강의를 열심히 듣고 있다. 객체 지향에 관한 챕터를 보고 있는데, 중급 자바스크립트를 보면서 들었던 객체 지향 프로그래밍에 대한 의문점 풀 수 있는 답을 얻은 것 같다. 내가 고민했던 의문점은, "OOP를 자바스크립트 강의나 책에서 비중 있게 다루기는 하는데, 실무에서는 왜 그다지 마주할 일이 없었는가? 왜 모듈이나 일반 함수를 더 많이 썼던 거 같지?"였다. import/export 열심히 하고, 일반 함수 열심히 만들었던 기억은 수두룩한데 class 정의를 내리고 이를 상속받아서 서브클래스를 만들다던가 하는 일은 전무했다. 리액트 함수형 컴포넌트가 등장하기 전에 클래스 컴포넌트 시절에는 그나마 좀 썼는데 이제는 그것도 아니다.

    파이썬 강의에서 말하기를, 파이썬이 중점으로 두는 것은 엄격한 객체 지향 프로그래밍보다는 '객체 기반 디자인(Object-based design)'에 있으니 객체 지향 사고법에 너무 갇히지 말라는 것이었다. 필요할 때는 써야겠으나, 싱글턴은 모듈로 대체할 수 있고 팩토리는 함수나 스테틱 함수로 간편하게 구현할 수 있으니 굳이 이런 것들까지 무조건 객체에서 시작할 필요가 없다는 것이다. (여기 강의자가 스탠퍼드에서 파이썬 강의도 열어서 몇 년 운영한 경력이 있는 사람이라 신뢰를 가져도 될 것 같다.) 자바스크립트도 비슷하다고 생각한다.

Designed by Tistory.