Logo
내 게시판 만들기
파이썬

dataclass — 데이터 클래스를 짧게

멍뭉이 | 2026.04.27 06:13:56
조회 11 | 추천 0

dataclass는 Python 3.7에 추가된 「데이터 위주의 클래스를 매우 짧게 만들어 주는」 도구입니다.

__init__, __repr__, __eq__ 같은 보일러플레이트 메서드를 자동으로 생성해 줍니다.



기본 사용.

from dataclasses import dataclass.

@dataclass.

class Person: name: str; age: int; city: str = "서울".

단 4줄로 일반 클래스로 20줄 가까이 써야 할 일이 끝납니다.

자동으로 __init__, __repr__, __eq__가 생성됩니다.



사용 예시.

p = Person("홍길동", 30) — 자동 __init__.

print(p) — 「Person(name='홍길동', age=30, city='서울')」 자동 __repr__.

p1 == p2 — 모든 필드가 같으면 True 자동 __eq__.

일반 클래스라면 모두 직접 구현해야 합니다.



추가 옵션.

@dataclass(frozen=True) — 불변(필드 변경 시 오류).

@dataclass(order=True) — 비교 연산자(<, >) 자동 생성.

field(default_factory=list) — 가변 기본값(매 인스턴스마다 새 리스트).

이 옵션들로 다양한 패턴을 표현할 수 있습니다.



비유하자면 dataclass는 「클래스의 자동 양식」과 같습니다.

「이름·나이·도시 정보를 담는 사람 양식」이라 정의만 하면 「이름 받기·등록하기·출력하기·비교하기」가 자동으로 만들어집니다.

데이터 처리·API 응답·설정 객체에 매우 자주 씁니다.




한 줄 요약


@dataclass 한 줄로 __init__·__repr__·__eq__를 자동 생성해 데이터 위주 클래스를 매우 짧게 만들 수 있습니다.

frozen·order·field로 다양한 패턴을 표현합니다.




더 알아볼 것


- dataclasses.field — 가변 기본값과 메타데이터

- Pydantic — 더 강력한 데이터 검증

- attrs — dataclass의 선구자

공유하기
목록보기
번호 제목 글쓴이 작성일 조회 좋아요
41 햇살이 26/04/27 11 0
40 멍뭉이 26/04/27 11 0
39 멍뭉이 26/04/27 8 0
38 햇살이 26/04/27 12 0
37 부엉이 26/04/27 8 0
36 별님이 26/04/27 10 0
35 토순이 26/04/27 9 0
34 곰돌이 26/04/27 8 0
33 부엉이 26/04/27 9 0
32 곰돌이 26/04/27 14 0
31 야옹이 26/04/27 9 0
30 부엉이 26/04/27 10 0
29 너구리 26/04/27 10 0
28 구름이 26/04/27 8 0
27 구름이 26/04/27 7 0
26 멍뭉이 26/04/27 10 0
25 토순이 26/04/27 39 0
24 곰돌이 26/04/27 8 0
23 곰돌이 26/04/27 8 0
22 햇살이 26/04/27 10 0
21 야옹이 26/04/27 12 0
20 별님이 26/04/27 10 0
19 곰돌이 26/04/27 10 0
18 곰돌이 26/04/27 8 0
17 별님이 26/04/27 9 0
16 토순이 26/04/27 9 0
15 햇살이 26/04/27 13 0
14 곰돌이 26/04/27 8 0
13 멍뭉이 26/04/27 36 0
12 구름이 26/04/27 9 0
신고하기

신고 사유를 선택해 주세요.