30

특수 메서드: 클래스를 더 파이썬답게

Day 2: 클래스 - 데이터와 행동을 묶다

학습 목표

__str__, __repr__의 차이를 이해한다 __eq__, __lt__ 등 비교 메서드를 활용한다 연산자 오버로딩을 이해한다

문제: print(user)하면 뭐가 나올까?

에디터 로딩 중...

뭔지 하나도 모르겠다.


str: 사람을 위한 문자열

에디터 로딩 중...

repr: 개발자를 위한 표현

에디터 로딩 중...

__str__은 사용자용, __repr__은 개발자용

둘 다 정의 안 하면 __repr__이 str 대신 사용됨.


비교 메서드

에디터 로딩 중...

연산자 오버로딩

에디터 로딩 중...

주요 특수 메서드 정리

메서드용도예시
init생성자obj = Class()
str문자열 변환str(obj), print(obj)
repr표현인터프리터 출력
eq동등 비교obj1 == obj2
lt작다 비교obj1 < obj2
le작거나 같다obj1 <= obj2
add덧셈obj1 + obj2
len길이len(obj)
getitem인덱싱obj[key]
iter반복for x in obj
bool참/거짓if obj:

실무 예제: Money 클래스

에디터 로딩 중...