기본 패턴
python
from dataclasses import dataclass
@dataclass
class Point:
x: int
y: int설명
- dataclass는 데이터를 보관하는 목적의 클래스를 더 간결하게 정의하게 해 줍니다.
- 필드만 선언해도
__init__,__repr__, 비교 메서드 같은 반복 코드를 자동으로 만들어 줍니다. - 단순한 데이터 묶음, 설정 객체, 전송용 구조를 만들 때 특히 편합니다.
- 일반 클래스가 더 적절한지, dataclass가 더 적절한지는 "상태와 행동 중 무엇이 중심인가"로 판단하면 좋습니다.
짧은 예제
python
from dataclasses import dataclass
@dataclass
class Student:
name: str
score: int
student = Student("Mina", 95)
print(student)빠른 정리
| 요소 | 역할 |
|---|---|
@dataclass | dataclass 동작 활성화 |
| 필드 선언 | 저장할 데이터 정의 |
자동 __init__ | 생성자 자동 생성 |
자동 __repr__ | 출력 표현 자동 생성 |
공식 참고: dataclasses — Data Classes
주의할 점
dataclass는 매우 편리하지만, 복잡한 동작과 캡슐화가 핵심인 클래스를 모두 dataclass로 바꾸는 것은 좋지 않습니다. 데이터 중심 구조에서 특히 강합니다.