실제로 옳은 반대 주장
대부분 사람들이 "DNA 가 코드" 를 들으면 비유라고 가정해 — 프로그래머가 자기 일을 더 깊게 들리게 하려고 생물학 어휘를 빌리는 거지. 사실은 반대에 더 가까워. 객체지향 프로그래밍은 생물학이 38 억 년 동안 돌리고 있던 구조적 패턴의 작은 인간 발견이야. OO 개념 (class, instance, 상속, 다형성, 캡슐화) 은 1960-1970 년대에 컴퓨터 과학자들이 이름 붙인 거야. 패턴 자체는 인간보다 훨씬 먼저였고.
옳은 framing 은 생물학이 코드 같다 가 아니야. 생물학과 코드 둘 다 같은 아키텍처 패턴을 돌리고 있어, 패턴이 교체 가능한 부품으로 복잡한 시스템 만들 때 작동하는 모양이라서. 우주가 분자 안에서 알아냈고, 우리가 소프트웨어 안에서 다시 알아냈어.
생물학에서 단어들이 뜻하는 것
- Class. 종. 고양이 (Felis catus) 가 class 야. 구조 정의 — 다리 4 개, 발톱, 수염, 어떤 DNA, 어떤 본능.
- Instance. 특정 고양이. 옆집 얼룩 고양이가 고양이 class 의 인스턴스. 우리집 고양이도 그렇고. 둘 다 class 구조를 공유하고, 각자 고유한 상태 (이 고양이는 배고픔, 저 고양이는 잠) 를 가져.
- 상속. 고양이는 고양이과 (Felidae) 에서 상속하고, 그게 식육목 (Carnivora) 에서, 그게 포유강 (Mammalia) 에서 상속해. 매 단계가 이전 단계에 없던 특질을 더하면서 가지고 있던 건 유지해. 포유류가 모든 척추동물 특질 + 젖샘. 식육목이 육식 이빨을 더하고. 고양이가 들어가는 발톱을 더해.
- 캡슐화. 세포막이 캡슐화야. 세포 내부 상태가 외부에 숨겨져 있어 — 표면 수용체 (public 인터페이스) 를 통해서만 상호작용 가능하지. 장기, 생물, 생태계도 같고.
- 다형성. 다른 종이 같은 인터페이스로 같은 문제 풀기. 새, 박쥐, 곤충이 다 난다 — 같은 method (비행), 다른 구현 (깃털 날개, 가죽 날개, 키틴 날개). lesson 4 에 와.
왜 이게 단어 놀이 이상이야
생물학을 OO 로 보기 시작하면 여러 게 더 명확해져:
- 왜 분류학이 계층적이야? 상속이 계층을 만들어서. 린네 생명나무 (계 → 문 → 강 → 목 → 과 → 속 → 종) 가 class 계층, DNA 의 상속 패턴에서 나온 거고.
- 왜 세포, 장기, 생물, 생태계가 다 비슷한 결합-응집 패턴을 보여? 매 layer 에서 우주가 같은 아키텍처 원시 — 캡슐화된 객체에 public 인터페이스 — 를 쓰고 있어서.
- 왜 AI 아키텍처 (특히 현대 신경망) 가 생물학 모양으로 느껴져? 같은 원시를 쓰니까 — 캡슐화된 layer, 메시지 전달, 학습된 인터페이스. OO substrate 가 같아.
이 트랙 전체가 한 움직임이야 — 생물학을 OO 눈으로 봐. 한 번 그러면 진화가 슬로건이기를 멈추고 정확한 아키텍처 과정이 돼. 다음 네 lesson 이 각 부분을 날카롭게 해.