[파이썬] 클래스와 객체의 정의

클래스와 객체는 객체 지향 프로그래밍의 핵심 개념입니다. Python은 객체 지향 프로그래밍을 지원하고 있어, 클래스와 객체를 쉽게 정의하고 사용할 수 있습니다. 이번 포스트에서는 Python에서 클래스와 객체를 어떻게 정의하는지 알아보겠습니다.

클래스의 정의

클래스는 객체들의 공통된 특성과 동작을 정의하는 설계도입니다. 클래스는 다음과 같이 정의됩니다:

class ClassName:
    # 클래스 멤버 및 메소드 정의

클래스 이름은 파스칼 표기법을 따르고, 첫 글자는 대문자로 시작합니다. 클래스 내부에는 클래스 멤버메소드를 정의할 수 있습니다.

객체의 정의

객체는 클래스의 인스턴스입니다. 클래스를 기반으로 생성된 객체는 각자 독립적인 상태와 동작을 가지며, 클래스에서 정의된 멤버와 메소드를 사용할 수 있습니다. 객체를 생성하기 위해서는 클래스의 생성자를 호출해야 합니다.

object_name = ClassName()

위의 코드 예시에서 ClassName()은 클래스의 생성자를 호출하여 객체를 생성하는 것을 의미합니다. Object_name은 생성된 객체를 참조하기 위한 변수입니다.

예제 코드

아래의 예제 코드를 통해 클래스와 객체의 정의를 이해해보겠습니다.

class Rectangle:
    def __init__(self, width, height):
        self.width = width
        self.height = height
    
    def get_area(self):
        return self.width * self.height
    
    def get_perimeter(self):
        return 2 * (self.width + self.height)

# 객체 생성
rectangle1 = Rectangle(5, 10)

# 메소드 호출
area = rectangle1.get_area()
perimeter = rectangle1.get_perimeter()

print("사각형의 넓이:", area)
print("사각형의 둘레:", perimeter)

위의 예제 코드에서 Rectangle 클래스는 사각형의 너비와 높이를 저장하는 클래스입니다. __init__ 메소드는 클래스의 생성자로, 객체가 생성될 때 호출되며 너비와 높이 값을 설정합니다. get_area 메소드는 사각형의 넓이를 계산하여 반환하고, get_perimeter 메소드는 사각형의 둘레를 계산하여 반환합니다.

rectangle1 객체를 생성한 후, get_areaget_perimeter 메소드를 호출하여 사각형의 넓이와 둘레를 계산하고 출력합니다.

이와 같이 클래스와 객체를 정의하면, 객체 지향적인 프로그래밍을 통해 코드의 재사용성과 유지 보수성을 높일 수 있습니다.