01🪞Track 0 — For Instance
0/1 lessons이미 매일 쓰던 그 단어
"For instance." 하루에도 몇 번씩 입에서 나오는 말이야. 그런데 "instance" 가 무슨 뜻인지 한 번이라도 멈춰 본 적 있어? 이 track 하나가 quest 전체를 줄여 놓은 거야. 매일 쓰던 말 안에 거푸집이 통째로 들어 있었다는 걸 알아채는 순간.
객체지향 — 우주의 운영 원리
객체지향? 이미 평생 해온 거야. "for instance" 하고 입을 뗄 때마다, 처음 보는 걸 익숙한 *비빌데* 에 비벼서 알아들을 때마다, 같은 진리가 분야마다 다른 옷을 입고 나타난 걸 알아볼 때마다. 이 quest 는 용어부터 들이밀지 않아. 이미 그렇게 생각하고 있었다는 걸 먼저 보여 주고, 정식 OOP 개념은 비유가 갈라지는 자리까지 데려가서 붙여 줘.
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 를 낱개로 외우지 말고, root image 와 방향감으로 첫 가설부터 세워. 다만 관용으로 굳은 뜻은 가설만으로 안 풀리니까, 맥락과 사전으로 확인은 해야 해.
레시피는 그냥 인스턴스
레시피 외우는 데서 멈추지 말고 맛을 움직이는 손잡이를 봐. 짠맛, 단맛, 기름, 감칠맛, 향은 좋은 출발점이지만, 산미와 쓴맛, 식감, 온도와 시간까지 봐야 그림이 완성돼.
OO 인생 내내 플레이해왔어
게이머는 이미 상속 관계와 변형을 읽고, 특성 여럿을 엮어 빌드를 짜. Malenia 는 전투 경제 자체를 뒤집는 고유 보스지 정식 singleton 은 아니고, wrong parent class 함정이 어떻게 생겼는지 보여 줘.
같은 뿌리, 다른 옷장
서로 다른 격언에서 겹치는 구조를 찾되, 남는 차이는 안 지워. 손자에서 Art of Investing 으로 넘어간 override, 學 과 習 사이의 간격, 그리고 5% 를 세 번 곱해 본 사고실험을 다뤄.
이미 아는 것을 이름 붙임
교과서라면 이게 1장일 거야. 정의 먼저, 예시는 그다음. 정확히 거꾸로지. 여기까지 왔으면 표에 있는 도구를 이미 다 써 봤어. 이 track 은 인벤토리 화면이야 — boss drop 이지 미리 갖출 게 아니고.
코드는 지방 사투리, 원어는 아냐
OOP 는 프로그래밍의 정식 패러다임이고, 상속·다형성·캡슐화는 코드 밖 구조를 읽는 렌즈로도 잘 들어맞아. Carmack 의 MegaTexture 와 Unreal 의 virtual texturing 은 서로 적이 아니라, 필요한 것부터 올린다는 같은 문제를 푸는 친척이야.
거푸집이 우리가 될 때
이 quest 에서 제일 위험한 순간은 OO 를 단점 없는 만능 능력으로 믿는 때야. 아빠 고백: 규칙 기반 소프트웨어라는 좁은 프레임이 GPT 의 중요한 차이를 가렸어. 예외가 계속 쌓이면 parent class 부터 다시 따져 봐야 해.
모든 거푸집이 오는 곳
Unity 의 GameObject 는 씬 요소가 component 를 담는 그릇이야. 현실 쪽 비빌데로는 지금 물리의 입자와 장을 보되, 둘을 같은 class 라고 단정하진 않아. 원자 번호는 양성자 수로 정해지고, path integral 은 경로마다의 복소 진폭을 더해.
Quest 도 OO 였어
OO 렌즈로 이미 하고 있던 생각을 다시 봤고, 정식 OOP 개념과 비유 사이의 경계도 배웠어. 거푸집을 억지로 밀어붙이지 말고, 반례가 보이면 거푸집부터 고쳐.
와, 레고 블록 한 개에서 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로 수렴하듯 컴퓨터는 우리의 상상을 현실이라는 실체로 구현하는 마법 같은 도구입니다.