blevels

Home / AI / AI 용어사전 / 클래스(Class) — 객체를 찍어내는 AI 코드의 설계 도면

TERM

클래스(Class) — 객체를 찍어내는 AI 코드의 설계 도면

게시일 2026-04-30수정일 2026-04-30
공식 링크
On this page

붕어빵 틀 하나로 같은 모양의 붕어빵을 찍어내듯, 클래스는 동일한 구조의 객체를 반복 생성하는 설계 도면이다. AI 앱에서 사용자·메시지·세션이 각각 클래스로 정의되는 이유다.

정의

클래스(Class)는 데이터(속성)와 동작(메서드)을 하나의 단위로 묶은 객체 설계 도면이다. 클래스로부터 실제 데이터를 가진 인스턴스(Instance)를 생성하며, 이 패러다임을 객체지향 프로그래밍(OOP, Object-Oriented Programming)이라 한다.

상세 설명

클래스는 청사진(blueprint)이고, 인스턴스는 그 청사진으로 만든 실체다. 같은 클래스에서 만들어진 여러 인스턴스는 동일한 구조를 가지지만 각자 독립된 데이터를 보유한다.

class ChatSession:
    def __init__(self, user_id: str, model: str = "claude-sonnet-4-6"):
        self.user_id = user_id
        self.model = model
        self.messages = []  # 각 인스턴스마다 독립된 대화 이력

def add_message(self, role: str, content: str):
        self.messages.append({"role": role, "content": content})

def get_context(self) -> list:
        return self.messages[-20:]  # 최근 20개 메시지만 반환

# 두 사용자의 세션을 각각 독립적으로 관리
session_a = ChatSession(user_id="user_001")
session_b = ChatSession(user_id="user_002", model="claude-opus-4-7")

session_a.add_message("user", "안녕하세요")
session_b.add_message("user", "Hello")

OOP의 세 핵심 개념

캡슐화(Encapsulation)는 내부 구현을 숨기고 공개 인터페이스만 노출하는 원칙이다. get_context()가 내부 messages 리스트를 직접 반환하지 않고 최근 20개만 가공해 제공하는 것이 예시다.

상속(Inheritance)은 기존 클래스의 속성·메서드를 물려받아 기능을 확장하는 메커니즘이다. ChatSession을 상속해 PremiumChatSession을 만들면 공통 로직을 중복 없이 재사용할 수 있다.

다형성(Polymorphism)은 같은 메서드 이름이 클래스에 따라 다르게 동작하는 특성이다. call_ai() 메서드가 Claude 클라이언트와 GPT 클라이언트에서 각각 다른 API를 호출하는 것이 대표적이다.

AD

활용 사례

  • AI SDK 구조: Anthropic Python SDK의 Anthropic 클래스가 API 클라이언트 인스턴스를 관리
  • 대화 세션 관리: 사용자별 ChatSession 인스턴스로 컨텍스트 분리
  • 데이터 모델링: orm에서 DB 테이블을 클래스로 정의
  • 플러그인 시스템: 공통 인터페이스를 정의한 클래스를 상속해 도구별 구현 분리

관련 용어

  • object — 클래스의 설계도로 만든 실체. 클래스의 인스턴스
  • function — 클래스 내부의 동작 단위. 메서드(method)라 부름
  • inheritance — 클래스를 확장하는 OOP 핵심 개념
  • orm — 클래스로 DB 테이블을 모델링하는 라이브러리 패턴
  • api — AI SDK에서 클라이언트 클래스로 추상화되는 외부 인터페이스
AD