객체(Object)
객체는 현실 세계의 사물이나 개념을 컴퓨터 프로그램으로 표현한 것을 말해요. 예를 들어, 자동차라는 객체는 색깔, 속도와 같은 속성을 가질 수 있고, 가속하기, 정지하기와 같은 **메서드(기능)**를 가질 수 있습니다.
객체에서 중요한 두 가지 개념
- 속성 (Attribute)
- 객체의 상태나 데이터를 나타냅니다.
- 자동차 객체의 색상, 최고 속도, 모델명 등이 속성에 해당합니다.
- 메서드 (Method)
- 객체가 수행할 수 있는 동작이나 기능을 나타냅니다.
- 자동차 객체의 가속하기(), 정지하기(), 좌회전하기() 등이 메서드에 해당합니다.
클래스(Class)와 인스턴스(Instance)
- 클래스: 객체를 만들기 위한 설계도나 틀입니다. 객체가 가져야 할 속성과 메서드를 정의합니다.
- 예를 들어, 자동차라는 클래스를 정의하면, 이 클래스를 기반으로 여러 개의 실제 자동차 객체를 만들 수 있습니다.
- 인스턴스: 클래스를 기반으로 만들어진 실제 객체입니다.
- my_car = 자동차()와 같이 클래스를 호출하여 만든 my_car가 바로 자동차 클래스의 인스턴스입니다.
__init__() 메서드는 왜 필요한가?
__init__()은 "초기화(initialize)"를 의미하는 메서드로, 인스턴스가 생성될 때 자동으로 호출됩니다. 이 메서드의 주된 역할은 인스턴스의 초기 속성을 설정하는 것입니다.
예를 들어, 자동차 클래스를 만들 때 __init__()을 사용하면, 자동차 객체를 만들자마자 색상이나 모델명 같은 필수 정보를 바로 지정해줄 수 있습니다. 이렇게 하면 객체가 불완전한 상태로 생성되는 것을 막을 수 있습니다.
Python
class Car:
def __init__(self, color, model):
self.color = color # 인스턴스 속성 초기화
self.model = model # 인스턴스 속성 초기화
# 객체 생성과 동시에 초기값 설정
my_car = Car('빨간색', '테슬라')
print(my_car.color) # 출력: 빨간색
객체 지향 프로그래밍의 장점
객체 지향 프로그래밍(OOP)은 프로그램을 객체 단위로 만들어 조립하는 방식인데, 다음과 같은 장점을 가집니다.
- 코드 재사용성: 한 번 만든 클래스를 여러 곳에서 재사용할 수 있습니다. 예를 들어, 자동차 클래스를 만들어두면, 게임, 시뮬레이션 등 다양한 프로그램에서 사용할 수 있습니다.
- 유지보수 용이: 특정 객체에 문제가 발생했을 때, 해당 객체만 수정하면 되기 때문에 전체 코드에 미치는 영향을 최소화할 수 있습니다.
- 생산성 향상: 이미 만들어진 객체를 조합하여 새로운 프로그램을 더 빠르고 쉽게 개발할 수 있습니다.
- 높은 가독성: 현실 세계의 개념을 코드로 표현하기 때문에, 코드가 더 직관적이고 이해하기 쉬워집니다.
'AI 엔지니어준비' 카테고리의 다른 글
| pandas describe()에 대해 (1) | 2025.08.14 |
|---|---|
| 컴퓨터 관점으로본 5,[5]의 백터 (4) | 2025.08.13 |
| IQR (Interquartile Range) 이란? (3) | 2025.08.13 |
| 데이터의 종류 (3) | 2025.08.12 |
| for _, row in tasks.iterrows(): 이구문에 대해서 (3) | 2025.08.11 |