반응형

🤝 파이썬 완벽 가이드: self는 문법이 아니라 '전 세계 개발자들의 약속'이다!
저번 시간에 클래스 안의 함수(__init__)에는 무조건 첫 번째 자리에 self를 넣어야 한다고 말씀드렸죠? 여기서 self는 "지금 구워진 바로 이 붕어빵!"을 가리키는 지시 대명사 역할을 합니다.
그런데 사실 컴퓨터(파이썬) 입장에서는 그 자리에 어떤 단어가 오든 전혀 신경 쓰지 않습니다. 첫 번째 자리에 오는 단어를 무조건 '이 객체 자신'으로 인식하도록 프로그래밍되어 있기 때문입니다.
💻 1. 코드로 보는 self의 반란 (다른 이름 써보기)
정말로 다른 이름을 써도 코드가 작동하는지, self 대신에 영어의 this나 한국어 발음인 na(나)를 넣어서 붕어빵 틀을 만들어 보겠습니다.
Python
class Person:
# self 대신에 'my_body' 라는 이름을 써보았습니다!
def __init__(my_body, name, age):
my_body.name = name # 내 몸의 이름표에 이름을 붙인다.
my_body.age = age # 내 몸의 나이표에 나이를 붙인다.
# 정상적으로 작동할까요?
p1 = Person("Kim", 35)
print(p1.name)
# 출력 결과: Kim (아무런 에러 없이 완벽하게 작동합니다!)
📖 2. 그런데 왜 다들 기를 쓰고 self만 사용할까?
기술적으로는 아무 단어나 써도 되지만, 전 세계의 파이썬 개발자들은 "우리 서로 헷갈리지 않게 첫 번째 자리는 무조건 self라고 부르자!" 라고 굳게 약속을 했습니다. (이것을 파이썬 공식 코딩 스타일 가이드인 PEP 8 규칙이라고 부릅니다.)
- 비유하자면? 자동차의 방향을 조작하는 장치를 우리는 '핸들(또는 스티어링 휠)'이라고 부릅니다. 내가 내 차의 핸들을 '둥글이'라고 부른다고 해서 차가 안 굴러가는 것은 아니지만, 정비소에 가서 "제 차 둥글이가 고장 났어요" 라고 하면 정비사가 아주 크게 당황하겠죠?
코딩은 결국 다른 사람들과 함께 협업하는 과정이기 때문에, 누구나 코드를 보자마자 "아, 이건 객체 자신을 가리키는 거구나!" 하고 0.1초 만에 알 수 있도록 self라는 표준어를 쓰는 것입니다.
📝 3. 핵심 한 줄 총정리 요약
"파이썬 클래스의 self 자리에 다른 단어를 써도 에러는 안 나지만, 전 세계 개발자들과의 원활한 소통을 위해 무조건 self라는 표준어를 사용하자!"
반응형
'두두 IT > 파이썬 퀴즈' 카테고리의 다른 글
| [W3S 오답노트] Python Encapsulation __ (0) | 2026.05.06 |
|---|---|
| [W3S 오답노트] Python Inheritance (0) | 2026.05.06 |
| [W3S 오답노트] Python __init__ Method (0) | 2026.05.06 |
| [W3S 오답노트] Python Classes (0) | 2026.05.06 |
| [W3S 오답노트] Python Virtual Environment (0) | 2026.05.06 |