"OOP to me means only messaging,
local retention, and protection
and hiding of state-process,
and extreme late-binding of all things.
객체는 상대 객체를 신경쓰지 않고
자유롭게 메세지를 전달할 수 있어야 함
그래서 최대한 늦은 시점에 바인딩하는 것이 OOP의 근본임
근데 클래스 기반 정적 타입 언어는 정반대라서
상대 객체의 타입을 모르면 동작은 커녕 컴파일도 안됨
별 수 없이 런타임에 이뤄지는 선택을
개발할 때 정해주고 런타임에 따른 객체생성, 동작도 구현해 줌
그래서 런타임에 메세지 전달이 가능하게 하는
타입 구조를 만드는 꼼수(디자인 패턴)가 중요해짐
그러다 보니 프로그램에 비즈니스 로직 보다
런타임에 따라 동작이 가능하게 하는 코드가 더 길어지는 경우도 생겨 버림
비즈니스 로직 클래스는 1-2개인데 구조 때문에 만든 클래스가 3-4개 되어버림
그 불필요한 삽질이 익숙해지고
장황한 코드가 없으면 허전하고
꼼수로 구조를 만드는게 우월하게 느껴지기 시작하면
프로그래밍 시작하는 초보들에게 "디자인 패턴"을 공부하라고 훈수를 두게 됨
그것이 C++, JAVA 개발자
댓글 0