객체 지향 프로그래밍(OOP)은 데이터를 객체 형태로 모델링하여 프로그램을 구성하는 방법입니다. 이 글에서는 클래스와 생성자, 그리고 이들을 활용하여 객체를 생성하고 속성을 관리하는 방법에 대해 설명하겠습니다.
클래스(Class)
클래스는 객체를 생성하기 위한 청사진입니다. 클래스는 속성(데이터)과 메서드(함수)를 정의하여, 객체가 어떤 데이터를 가질 수 있고 어떤 동작을 수행할 수 있는지를 명시합니다.
class Cookie:
def __init__(self, color):
self.color = color #__init__ 생성자를 사용하여 객체의 color 속성을 초기화합니다
__init__ 메서드는 생성자로, 객체가 생성될 때 호출되어 초기화 작업을 수행합니다. 이 메서드는 각 객체가 가질 속성인 color를 설정합니다.
객체 생성
클래스를 정의한 후, 이를 기반으로 객체를 생성할 수 있습니다.
cookie_one = Cookie('green')
cookie_two = Cookie('blue')
cookie_one 객체는 'green'으로 초기화되고, cookie_two 객체는 'blue'로 초기화됩니다. 이렇게 각 객체는 서로 다른 속성 값을 가질 수 있습니다.
메서드 추가: Getter와 Setter
클래스 내에서 정의한 메서드를 사용하여 객체의 속성을 관리할 수 있습니다. get_color와 set_color 메서드를 추가해 보겠습니다.
class Cookie:
def __init__(self, color):
self.color = color
def get_color(self):
return self.color # 객체의 color 속성을 반환합니다
def set_color(self, color):
self.color = color # 새로운 색상 값을 입력받아 객체의 색상을 업데이트합니다
get_color는 쿠키의 색상을 반환하고, set_color는 색상을 변경하는 데 사용됩니다.
객체 사용
이제 생성된 객체를 사용하여 속성을 가져오고 변경해 보겠습니다.
print('Cookie one is ', cookie_one.get_color())
print('Cookie two is ', cookie_two.get_color())
cookie_one.set_color('yellow')
print('Cookie one is ', cookie_one.get_color())
print('Cookie two is ', cookie_two.get_color())
cookie_one의 색상을 'yellow'로 변경한 후 다시 확인하면, cookie_one은 노란색으로 변경되었고, cookie_two는 여전히 파란색입니다.
클래스와 생성자는 객체 지향 프로그래밍의 핵심 요소로, 데이터를 구조화하고 관리하는 데 중요한 역할을 합니다. 클래스를 사용하여 객체를 만들고, 메서드를 통해 객체의 상태를 조작함으로써 효율적이고 재사용 가능한 코드를 작성할 수 있습니다.
'Computer Science > Python' 카테고리의 다른 글
파이썬 | 링크드 리스트 구현하기 (Prepend, Pop First, Get, Set) - 3 (0) | 2024.09.24 |
---|---|
파이썬 | 링크드 리스트 구현하기 (Constructor, Append, Pop) - 2 (0) | 2024.09.23 |
파이썬 | 링크드 리스트(Linked List) 구조, Big O - 1 (0) | 2024.09.23 |
파이썬 | 포인터와 참조 (0) | 2024.09.22 |
파이썬 | 시간 복잡도(Time Complexity), Big O, O(n), O(n^2), O(1), O(log n), O(a + b) (0) | 2024.09.21 |