왜 module–class–method인가?

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

bamchi 888

왜 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단계 구조의 반복일 뿐이다.

그걸 이해하면

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

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

댓글

댓글 작성

이메일은 공개되지 않으며, 답글 알림에만 사용됩니다.

이어서 읽어보세요

새 글 알림 받기

Bamchi Blog의 새 글이 발행되면 이메일로 알려드립니다.

이메일은 새 글 알림에만 사용됩니다.