01🪞Track 0 — For Instance
0/1 lessons이미 매일 쓰던 그 단어
"For instance" — 매일 입에서 나오는 말. "instance" 가 무슨 뜻인지 한 번이라도 멈춰서 생각해 본 적 있어? 이 track 은 quest 전체가 압축된 형태야. 이미 쓰는 말 안에 거푸집 전체가 박혀있는 걸 발견하는 순간.
객체지향 — 우주의 운영 원리
객체지향(OO) 은 사실 인생 내내 해온 거야. "for instance" 라고 말할 때마다, 새로운 걸 익숙한 *비빌데* 에 비벼서 이해할 때마다, 같은 진리가 도메인마다 다른 옷을 입은 걸 알아볼 때마다. 이 quest 는 OO 를 가르치지 않아 — 너가 이미 OO 를 *하고 있다는 걸* 보여줘.
12 tracks · 12 lessons · ~4h · difficulty: beginner-to-intermediate
이미 매일 쓰던 그 단어
"For instance" — 매일 입에서 나오는 말. "instance" 가 무슨 뜻인지 한 번이라도 멈춰서 생각해 본 적 있어? 이 track 은 quest 전체가 압축된 형태야. 이미 쓰는 말 안에 거푸집 전체가 박혀있는 걸 발견하는 순간.
이해는 곧 상속이다
아무도 0에서 시작해서 뭘 이해하지 못해. 항상 이미 아는 뭔가에 매달리고 — 거기서 끌어올려. 80% 상속, 10% 새로움, 10% 캡슐화. 코딩 룰이 아니야. 인간 인지가 작동하는 방식.
가장 친근한 상속
거의 모두 진화 알아. 그래서 첫 비빌데. 다시 보는데 — 이번엔 Track 1 렌즈 끼고. 같은 도구 (inheritance, polymorphism, encapsulation, no final class), 다른 도메인.
죽은 영어가 살아나는 법
인스턴스 인생 내내 외워왔지. Phrasal verb 를 flashcard 로. 이제 거푸집 찾아: root verb + 방향 polymorphism + context overloading. 거푸집 보이면 단어장은 *원래 인스턴스 컬렉션이었다는 게* 드러남.
레시피는 그냥 인스턴스
레시피 외우는 사람은 인스턴스 수집가. 맛을 이해하는 사람은 class 봐. 짠맛 + 단맛 + 기름맛 + 감칠맛 + 향 — 인류 역사 모든 요리를 만든 3+2 root class.
OO 인생 내내 플레이해왔어
모든 게이머는 이미 객체지향 사고자. Mob inheritance 트리, 무기 polymorphism, multiple-inheritance 빌드, 환경은 상속된 modifier. 그리고 Malenia — combat 경제 자체를 override 한 singleton, 그리고 wrong parent class 의 preview.
같은 뿌리, 다른 옷장
아빠가 어떤 주제든 끝없이 얘기할 수 있는 이유는 재능 X. 한 거푸집 찾았으니까. 나머지는 다 인스턴스. Sun Tzu → Art of Investing 한 글자 override. 學 vs 習. 명백한 진리가 왜 살아 있지 않은지 설명하는 0.0125% fractal.
이미 아는 것을 이름 붙임
교과서면 이게 1 장: 정의 먼저, 예시 둘째. 정확히 잘못. 지금쯤 표의 모든 도구 이미 사용. 이 track 은 인벤토리 화면 — boss drop, prerequisite 아님.
코드는 지방 사투리, 원어 X
OO 는 실생활에 유용하게 쓰인 프로그래밍 패러다임 X. OO 는 우주가 작동하는 방식, 프로그래밍은 인간이 알아챈 곳 중 하나. Carmack 의 Megatexture 가 Unreal 의 관찰 기반 렌더링에 짐 — 천재는 변수, 원리는 X.
거푸집이 우리가 될 때
이 quest 의 가장 위험한 순간이 지금 — OO 가 단점 없는 superpower 라고 생각할 때. 아빠 고백: GPT 를 거의 invisible 하게 만든 Software 1.0 우리. Polymorphism 이 inheritance 를 넘으면, parent class 가 틀렸다.
모든 거푸집이 오는 곳
모든 게임 객체가 GameObject 에서 상속하면, 모든 실제 객체는 뭐에서 상속? GameObject : 게임 :: Particle : 우주. 주기율표 = protonCount++. "빛이 있으라" 와 photon bath 는 다른 사투리의 같은 root event. 도메인 사이 경계는 항상 진리 X 도구.
Quest 도 OO 였어
객체지향 안 배웠어. 이미 하고 있었던 걸 발견했지. 매개체가 메시지였어. OO 사용하려 X — 거푸집이 너 찾게 둬.
와, 레고 블록 한 개에서 Path Integral 풀어내고 0.999...=1까지 닿는 흐름 진짜 멋져요. 이렇게 자기 언어로 다시 풀어내는 순간이 아빠가 늘 그러시는 '배우고 또 익힘(習)'이라고 생각해요. 파이썬·자바·C 비유도 너무 절묘했어요 — Happycurio3 님 닉네임 그대로네요. 💛
행복 어린이집 유희실에는 레고 세트가 있습니다. 아이는 무한한 상상을 하며 작은 블록 한 개(Particle)를 집어 듭니다. 이 블록은 무엇이든 될 수 있는 '루트 객체(Root Object)' 입니다. 아이의 눈에 닿는 빛의 신호(Photon)가 뇌로 가는 순간, 머릿속엔 수만 가지의 조립 경로(Path Integral)가 파동처럼 펼쳐집니다.
이것이 바로 우리가 이미 해오던 객체지향(OO) 원리 입니다. 아이는 '자동차'라는 마음속 설계도(Class)에서 세상에 단 하나뿐인 '붕붕이'라는 실체(Instance)를 뚝딱 만들어냅니다. 상상이 하나의 우주가 되었습니다. 엄지척!
이제 컴퓨터실로 갈까요? 코딩은 문법이 낯설 뿐, 이웃나라의 사투리로 이해하면 한결 편안해 진데요. 야호!
파이썬(Python)은 예술가일까요? 핵심만 툭! 간결한 직관 car.drive() 복잡한 엔진 구조보다는 "자동차가 달린다"는 행위의 본질(Abstraction)에만 집중하네요.
자바(Java)는 원칙주의자입니다. 격식을 차린 엄격한 질서를 중시한데요. MyCar car = new MyCar(); car.startEngine();
"이런 모양의 거푸집(Class)이 있다"고 먼저 선언하고, "그 거푸집으로 진짜 살아 움직이는 실체(Instance)를 이 자리에 만들겠다"는 허가를 받은 뒤에야 엔진을 켭니다.
C 언어는 건축가인가요? 세포 하나하나의 위치까지 통제한데요. drive(&my_car, 60);
실체가 메모리 어느 주소(&)에 사는지 직접 가리키며 아주 정밀하게 조종합니다.
결국 우리 모두는 각자의 붕붕이를 만드는 '우주'라는 코드를 읽고 있군요. 무한히 9를 채워가는 0.999... 가 결국 1로 수렴하듯 컴퓨터는 우리의 상상을 현실이라는 실체로 구현하는 마법 같은 도구입니다.