728x90
객체지향 프로그래밍(Object-Oriented Programming, OOP)은 현실 세계의 사물을 객체로 모델링하여 프로그램을 구성하는 방식입니다. 이번 장에서는 클래스와 객체의 개념을 중심으로 객체지향의 기초를 익혀보겠습니다.
● 클래스와 객체
클래스는 객체를 생성하기 위한 설계도이며, 객체는 클래스에 의해 만들어진 실체입니다.
class Person:
def __init__(self, name):
self.name = name
def say_hello(self):
print(f"안녕하세요, 저는 {self.name}입니다.")
p = Person("Tom")
p.say_hello()
● self의 의미
self
는 인스턴스 자신을 의미하며, 클래스 내 메서드에서 인스턴스 변수에 접근할 때 사용됩니다.
● 생성자 __init__
__init__()
메서드는 객체가 생성될 때 자동으로 호출되며, 초기값 설정에 사용됩니다.
● 인스턴스 변수와 메서드
클래스 내부에서 정의된 변수와 함수는 각각 인스턴스 변수, 인스턴스 메서드라 부릅니다.
● 여러 객체 생성
클래스로부터 여러 객체를 만들 수 있으며, 각각 독립적인 데이터를 가집니다.
p1 = Person("Alice")
p2 = Person("Bob")
p1.say_hello()
p2.say_hello()
● 클래스 변수와 메서드
@classmethod
를 사용하면 클래스 전체에 영향을 주는 변수와 메서드를 만들 수 있습니다.
class Counter:
count = 0
def __init__(self):
Counter.count += 1
@classmethod
def total(cls):
print(f"총 객체 수: {cls.count}")
● 마무리
이번 장에서는 클래스와 객체, self, 생성자, 인스턴스/클래스 변수와 메서드의 개념을 익혔습니다. 객체지향은 복잡한 프로그램을 구조화하고 재사용성을 높이는 데 중요한 개념입니다. 다음 장에서는 상속과 오버라이딩에 대해 학습하겠습니다.
728x90
'프로그래밍언어 > 파이썬[초급]' 카테고리의 다른 글
[파이썬][초급] Chapter44. 캡슐화와 접근 제어자 (0) | 2025.05.17 |
---|---|
[파이썬][초급] Chapter43. 상속과 오버라이딩 (0) | 2025.05.17 |
[파이썬][초급] Chapter41. 외부 라이브러리 설치와 활용 (0) | 2025.05.17 |
[파이썬][초급] Chapter40. 표준 라이브러리 활용 (0) | 2025.05.17 |
[파이썬][초급] Chapter39. 모듈과 패키지 (0) | 2025.05.17 |