클래스(Class) 사용법 & 예제 총정리
클래스란?
클래스는 객체를 생성하기 위한 일종의 틀(template)이며, 객체의 속성(attribute)과 동작(method)을 정의하는데 사용됩니다. 이를테면, 클래스는 '고양이'라는 객체를 생성하기 위한 틀이라고 생각할 수 있습니다. 클래스를 정의하는 방법은 다음과 같습니다.
class Cat:
# 클래스 속성
species = "고양이"
# 생성자 메소드
def __init__(self, name, age):
self.name = name
self.age = age
# 동작 메소드
def meow(self):
print("야옹~")
클래스의 구성 요소
클래스는 다음과 같이 속성과 메소드로 구성됩니다.
속성(Attribute)
클래스의 속성은 객체의 상태를 나타내며, 해당 클래스로 생성된 모든 객체가 공유합니다. 위 예제에서 species
는 클래스 속성으로, 모든 Cat
객체가 공통으로 갖게 됩니다.
메소드(Method)
클래스의 메소드는 객체의 동작을 정의합니다. 위 예제에서 __init__
는 생성자 메소드로, 객체가 생성될 때 자동으로 호출되며 초기화 작업을 수행합니다. meow
는 동작 메소드로, 해당 객체가 '야옹~'이라는 소리를 낼 수 있도록 정의되어 있습니다.
클래스의 사용법
클래스는 다음과 같이 인스턴스화하여 사용할 수 있습니다.
# Cat 클래스의 인스턴스 생성
my_cat = Cat("야옹이", 3)
# 객체의 속성에 접근
print(my_cat.name) # 출력: 야옹이
print(my_cat.age) # 출력: 3
# 객체의 메소드 호출
my_cat.meow() # 출력: 야옹~
위 예제에서는 Cat
클래스의 인스턴스 my_cat
을 생성하고, 해당 인스턴스의 속성과 메소드를 호출해보았습니다.
클래스 예제: 계산기 클래스
다음은 계산기 기능을 수행하는 클래스인 Calculator
예제입니다.
class Calculator:
def __init__(self):
self.result = 0
def add(self, num):
self.result += num
def subtract(self, num):
self.result -= num
def multiply(self, num):
self.result *= num
def divide(self, num):
if num != 0:
self.result /= num
else:
print("0으로 나눌 수 없습니다.")
def reset(self):
self.result = 0
위 예제에서는 Calculator
클래스를 정의하고, 덧셈, 뺄셈, 곱셈, 나눗셈, 초기화 기능을 정의하였습니다.
# Calculator 클래스의 인스턴스 생성
my_calculator = Calculator()
# 계산 수행
my_calculator.add(5)
my_calculator.subtract(3)
my_calculator.multiply(4)
my_calculator.divide(2)
# 결과 출력
print(my_calculator.result) # 출력: 8
# 초기화
my_calculator.reset()
print(my_calculator.result) # 출력: 0
전체 내용 정리
클래스는 객체를 생성하기 위한 틀로, 속성과 메소드로 구성됩니다. 클래스의 속성은 객체의 상태를, 메소드는 객체의 동작을 정의하며, 해당 클래스를 인스턴스화하여 사용할 수 있습니다. 클래스는 실제로 사용 가능한 기능을 가진 다양한 객체를 생성하는 데 사용됩니다. 예를 들어, Cat
클래스는 고양이 객체를 생성하고, Calculator
클래스는 계산기 객체를 생성합니다.
댓글