1. 특별 메서드?

- 클래스에 특정한 동작을 부여하기 위해 사용되는 방법이다.

- 더하기, 빼기, 길이 출력 등 쉽게 코드로 구현할 수 있는 기능을 제공한다.

- 하지만 특별 메서드를 사용하면 추가적인 구현이 없어도 되고, 클래스의 기능 구성이 간결해진다.

 

2. 예시를 통해 알아보자

class NumberList:
    def __init__(self, initial_data=None):
        self.data = initial_data
    
    def __getitem__(self, index):
        return self.data[index]
    
    def __len__(self):
        return len(self.data)
    
    def __repr__(self):
        return f"NumberList({self.data})"


- 위의 클래스를 아래와 같이 실행하면 주석으로 달아둔 결과를 얻을 수 있다.

my_list = NumberList([1, 2, 3, 4, 5])

print(f"3번째 숫자: {my_list[3]}")
print(f"나의 리스트 길이 : {len(my_list)}")
print(f"나의 리스트 문자열: {my_list}")

# 출력 결과
# 3번째 숫자: 4
# 나의 리스트 길이 : 5
# 나의 리스트 문자열: NumberList([1, 2, 3, 4, 5])

+ Recent posts