왜 module–class–method인가?

프로그래밍, 데이터베이스, 웹 구조의 3단계에 대한 이유와 의미. 3단계의 안정성과 직관성. 인간 사고와 우주의 3차원적 특성

밤치 40

왜 database–table–record인가?

왜 세상은 이렇게 ‘3단계(3depth)’를 좋아할까?**

프로그래밍을 배우다 보면

신기하게도 구조가 자꾸 3단계로 나뉜다는 사실을 발견한다.

  • Ruby: Module → Class → Method

  • DB: Database → Table → Record

  • Rails MVC: Model → View → Controller

  • 웹 구조: Domain → Path → Resource

심지어 자연과학도 비슷하다.

  • 생명: DNA → 세포 → 기관

  • 물질: 원자 → 분자 → 물체

  • 우주: 별 → 은하 → 은하단

이쯤 되면

“왜 하필 3단계일까?”

라는 질문이 자연스럽게 떠오른다.

우연일까?

필연일까?


1단계는 “너무 단순하다.” 2단계는 “구조가 없다.” 3단계에서 비로소 ‘의미’가 생긴다.

1단계만 있으면

구분이 없다.

세상이 한 덩어리처럼 느껴진다.

2단계 구조는

단순한 이분법에 가깝다.

양자택일밖에 없기에

입체감을 만들 수 없다.

그런데

3단계가 되는 순간, 비로소 구조가 생긴다.

  • 큰 틀

  • 그 안의 그룹

  • 그리고 개별 요소

이 구조는

정보를 저장하고,

이해하고,

확장하는 데 아주 적절한 깊이다.

3은

“너무 얕지도, 너무 깊지도 않은 숫자”다.


인간의 뇌가 3단계를 가장 ‘직감적으로’ 받아들인다

우리가 사는 공간은 3차원이다.

  • 위/아래

  • 좌/우

  • 앞/뒤

공간을 인식하는 뇌의 기본 구조가 3차원형이라

3단계 구조는 가장 직관적으로 이해된다.

프로그램 개념을 4단계나 5단계로 쪼개면

인간의 working memory는 금방 포화된다.

반대로

3단계 구조는

“한 번에 딱 잡히는 정보의 단위”다.

그래서 많은 학문과 도구, 시스템들이

자연스럽게 3depth를 가진다.


프로그래밍 개념도 3단계일 때 가장 안정적이다

Ruby에서:

  1. Module – 큰 개념의 묶음

  2. Class – 구체적 형태

  3. Method – 실제 행동

이 3단계를 넘어서면

일반 학습자에게는 지나치게 복잡해진다.

그러니 언어 설계 자체가

“사람이 이해하기 좋은 구조”를 따르는 것이다.

Database도 똑같다.

  1. Database – 큰 저장 공간

  2. Table – 분류된 서랍장

  3. Record – 실제 저장된 값

4단계로 쪼개버리면

오히려 관리가 복잡해지고

뇌는 그것을 한 단위로 받아들이기 어려워한다.

즉, 세상의 많은 시스템은

“사람이 이해하기 좋은 오리지널 UX”를 따르고 있다.


우주는 3차원이고, 인간의 사고도 3차원적이다

재미있게도

물리학자들이 말하길,

“3차원 공간은 생명이 안정적으로 존재할 수 있는 최소 차원이다.”

4차원이면

중력법칙이 깨지고

행성이 안정된 궤도를 유지하기 어렵다.

2차원이면

생명이 복잡한 구조를 가지기 어렵다.

3차원은

우주가 안정적으로 유지될 수 있는

절묘한 차원이다.

프로그래밍 개념도

전부 3단계 구조로 되어 있는 이유는,

어쩌면 우리가 이 우주의 법칙에 맞춰

도구를 만들고 있기 때문일지도 모른다.


결론: 3depth 구조는 ‘우리가 이해하고 창조할 수 있는 최대 효율 단위’다

  • 너무 얕지 않고

  • 너무 깊지 않고

  • 직관적으로 잡히고

  • 확장도 가능하고

  • 시스템 전체를 입체적으로 파악할 수 있는

가장 이상적인 깊이가 바로 3depth다.

그래서 세상의 많은 것들이

본능적으로 이 구조를 따른다.

그리고 프로그래밍은

인간의 사고를 확장하는 도구이기에,

당연히 인간의 사고 구조와 가장 잘 맞는

3단계를 기반으로 설계되어 있다.


그래서 개발자가 된다는 건 ‘3단계 구조를 다루는 사람이 된다’는 뜻이다

  • 큰 개념을 잡고

  • 그 안에서 구조를 만들고

  • 개별 요소를 정확히 다루는 것

이게 바로 개발자의 사고다.

세상이 복잡해 보이지만

사실 대부분은 3단계 구조의 반복일 뿐이다.

그걸 이해하면

프로그래밍도, 데이터도, 웹도

갑자기 단순하고 명확하게 보이기 시작한다.