파이썬에서 클래스(Class)는 객체 지향 프로그래밍(OOP)의 핵심 개념 중 하나로, 데이터와 그 데이터를 조작하는 메서드(함수)를 포함하는 하나의 템플릿이다. 클래스를 사용하면 관련된 데이터와 동작을 하나로 묶어 객체를 생성할 수 있다. 이를 통해 코드의 재사용성을 높이고 구조적인 프로그래밍을 할 수 있다.
1. 클래스의 구조
예제 코드
class HungryDeveloper:
# 클래스 변수 (모든 인스턴스가 공유하는 변수)
def __init__(self, name, age):
# 인스턴스 변수 초기화
self.name = name
self.age = age
def eat(self, food):
print(f'{food}를 먹다')
- class : 클래스를 정의하기 위한 키워드
- HungryDeveloper : 클래스의 이름을 지정
- __init__(self,...) : 초기화 메서드로, 객체 생성 시 호출되며 인스턴스 변수를 초기화
- eat(self, food) : 클래스가 제공하는 메서드로, 해당 클래스의 동작을 정의, 첫 번째 매개변수 self는 해당 인스턴스 자신
2. 클래스의 사용
예제 코드
class HungryDeveloper:
def __init__(self, name = "Jack", age = 29):
self.name = name
self.age = age
def eat(self, food):
print(f"{food}을(를) 먹다!")
# 클래스로 객체 생성
person1 = HungryDeveloper("Snider", 32)
person2 = HungryDeveloper("Tommy", 21)
# 메소드 호출
person1.eat("햄버거") # 출력: 햄버거을(를) 먹다!
person2.eat("피자") # 출력: 피자을(를) 먹다!!
위 예시에서 HungryDeveloper클래스는 사람 객체의 탬플릿을 정의하며, __init__ 메서드를 통해 객체 생성 시 이름과 나이를 초기화할 수 있다, 이때 아무 파라미터도 들어오지 않는다면 기본값으로 name은 "Jack":, age는 29로 세팅되도록 하였다. eat메서드는 사람이 먹는 동작은 정의하고 출력한다. 이후에 HungryDeveloper 클래스로 생성된 객체인 person1과 person2를 통해 메서드를 호출할 수 있다.
클래스를 사용하면 프로그램을 논리적으로 그룹화하고 코드의 가독성을 높일 수 있다. 또한 클래스는 상속, 다형성 등 다양한 객체 지향 프로그래밍의 개념을 활용하여 더 유연하고 확장 가능한 코드를 작성하는 데 도움이 될 것이다.
여기까지가 기본적인 클래스의 개념과 사용방법이다, 다음 시간에는 클래스에 존재하는 상속, 다형성 등에 대한 개념을 알아보자.
읽어주셔서 감사합니다.