모듈화 - 뇌가 복잡한 세계를 장악하기 시작하는 순간

메소드와 클래스는 뇌의 방식으로 세상을 모듈화하고 이해하는 핵심이다. 메소드는 행동을 묶는 과정이며, 클래스는 객체를 바라보는 틀이다.

밤치 111

— 메소드와 클래스는 단순 문법이 아니라 ‘지구를 조립하는 뇌의 방식’이다

우리는 매일 엄청나게 복잡한 세계 속에서 산다.

하지만 뇌는 이 복잡한 세상을 몇 개의 단위(모듈)로 묶어 이해한다.

  • 인간은 단어라는 모듈로 말을 배우고

  • 문장이라는 모듈로 생각을 표현하고

  • 개념이라는 모듈로 세상을 분류한다

박문호 박사가 말하는 학습의 핵심은 단순하다.

“뇌는 모듈을 만들고, 모듈을 조립할 때 비로소 세계를 이해한다.”

그리고 코딩에서

이 모듈은 바로 메소드(method)클래스(class)다.

이걸 이해하는 순간,

코드는 단순한 지시문이 아니라

우리가 사는 세계의 축소판으로 보이기 시작한다.


1. 메소드(Method): “생각을 하나의 기능으로 압축하는 뇌의 기술”

메소드는 뇌가 복잡한 행동을 하나의 단위로 묶는 과정이다.

예를 들어보자.

  • 커피 마신다

  • 걷는다

  • 손 흔든다

이건 각각 독립적인 행동 모듈이다.

사람은 이런 모듈을 조합해 하루를 만들어낸다.

코딩도 똑같다.

메소드는 “하나의 행동”을 코드로 묶어놓은 덩어리다.


메소드를 배우는 순간 일어나는 뇌의 변화

  • 사고가 분할된다

  • 실행 단위가 조절 가능해진다

  • 전체가 아니라 부분을 다룰 수 있게 된다

  • 복잡한 문제를 쪼개어 해결하는 능력이 생긴다

이건 단순 문법이 아니다.

뇌의 구조가 바뀌는 순간이다.


메소드 예제: 나만의 행동 만들기

def greet
  puts "안녕하세요! 오늘도 해내봅시다!"
end

greet
greet

뭐가 일어난 걸까?

  • def greet ... end 사이가 “인사하기”라는 행동을 정의하는 코드

  • greet를 부르면 그 행동이 실행된다

  • 즉, 한 번 정의하고, 원하는 만큼 호출 가능하다

이게 바로 모듈화의 첫 단계,

뇌가 행동을 하나의 모듈로 묶어버리는 순간이다.


박문호식 프레임 해석

  • 프레임 형성: “행동을 하나의 단위로 묶을 수 있다”

  • 입체화: 뇌가 코드의 블록을 입체적으로 인식

  • 인출 강화: greet를 여러 번 부르며 행동을 자유롭게 호출

  • 모듈화: 더 큰 프로그램을 작은 기능 단위로 나눌 수 있게 된다


실습 1: 나만의 행동 3개 만들기

각각을 메소드로 만들 것:

  1. encourage – 나를 격려하는 문장 출력

  2. goal_today – 오늘 목표 한 줄 출력

  3. praise – 잘했다고 칭찬하는 문장 출력

그리고 원하는 순서로 조합해봐:

encourage
goal_today
encourage
praise

당신은 방금

뇌 속에 행동 모듈을 만들고 조립하는 법을 배운 것이다.


2. 클래스(Class): “세상을 객체 단위로 바라보는 두 번째 뇌”

메소드가 행동이라면,

클래스는 존재하는 것(object)이다.

세상을 구성하는 것은

하나하나의 실체(객체)다.

  • 사람

  • 강아지

  • 자동차

  • 블로그 글

  • 사용자

  • 장바구니

이 모든 것은 “객체(오브젝트)”이고,

코딩의 클래스는 바로 이 객체의 본질을 설계하는 틀(template)이다.


클래스가 중요한 이유

클래스를 이해하는 순간

뇌는 이렇게 말한다.

“아, 나는 세상을 ‘객체’로 나누고,

각 객체에 ‘행동’을 줄 수 있구나.”

그리고 이 순간

복잡한 세상이 갑자기 명확한 구조를 갖는다.

이게 바로

박문호가 말한 입체적 정보 구조화다.


클래스 예제: 사람이란 존재 만들기

class Person
  def initialize(name)
    @name = name
  end

  def greet
    puts "#{@name}님, 오늘도 멋지게 해냅시다!"
  end
end

me = Person.new("밤코딩")
me.greet

이 코드에서 일어난 ‘뇌의 진화’

1) class Person

→ “Person이라는 존재를 정의한다”는 프레임

2) initialize

→ 객체가 태어날 때 실행되는 생성자(constructor)

3) @name

→ 객체마다 고유하게 저장되는 속성(attribute)

(즉, 뇌에서 말하는 “특징” 모듈)

4) greet

→ 이 객체가 가진 “행동 모듈”

5) me = Person.new("밤코딩")

→ 실제 “인스턴스” 생성

(현실 세계에 ‘하나의 나’가 태어난 것)


박문호식 프레임 해석

  • 세상을 객체로 나눈다 → “사람”, “자동차”, “게시물”, “댓글”

  • 객체는 특징을 가진다@name, @age, @title

  • 객체는 행동한다greet, drive, publish

  • 객체끼리 상호작용한다

  • 이렇게 세상이 구조적·입체적으로 보이기 시작한다

이건 단순한 코딩 개념이 아니라

뇌의 세계 모델이 확장되는 과정이다.


실습 2: 나만의 객체 만들기

주제: MyGoal(내 목표 객체)

아래 조건을 만족하도록 직접 만들어보자.

클래스 이름

MyGoal

속성

  • 목표 이름

  • 마감 날짜

행동

  1. info

    → “목표: OOO, 마감: OOO” 출력

  2. encourage

    → “이 목표, 충분히 해낼 수 있다!” 출력

예시 실행 흐름

g = MyGoal.new("Rails 배우기", "2025-01-31")
g.info
g.encourage

만드는 순간,

‘내 목표’를 추상적 문장이 아니라

하나의 객체로 뇌에 저장하게 된다.

이게 학습의 본질이다.


3. 모듈화가 가져오는 진짜 변화

— 이제 당신은 “조립 가능한 세상”을 볼 수 있게 된다

메소드 → 행동의 모듈화

클래스 → 존재의 모듈화

이 둘이 만나면,

당신은 더 이상 코드를 나열하는 사람이 아니다.

당신은

세상을 객체로 나누고,

객체에 행동을 부여하고,

객체들을 조립해 시스템을 만드는 사람
이 된다.

그 순간, 가슴이 뛴다.

왜냐하면 지금까지

“누군가가 만든 세계에 참여만 하던 사람”에서

“나만의 세계를 만드는 사람”으로 변했기 때문이다.