TIL/Python
[TIL] 클래스와 객체
아람2
2024. 9. 20. 11:51
반응형
클래스 Class
객체를 만들기 위한 설계도 (템플릿 역할)
객체 Instance
클래스를 기반으로 만들어진 구체적인 실체
각 인스턴스는 클래스에서 정의한 속성과 메서드를 가진다
node_a = Node('A') # node_a 는 Node 클래스의 객체
self 의 역할
1. 자기 참조
클래스 내에 메서드가 호출될 때, 그 메서드가 소속된 객체 자신을 참조한다
즉, 클래스의 인스턴스 (객체) 자신을 가리킨다
2. 객체의 속성과 메서드 접근
self 를 통해 각 객체의 속성이나 메서드에 접근할 수 있다
그래서 각 객체가 독립적으로 데이터를 저장하고 동작할 수 있다
class Node:
def __init__(self, value):
self.value = value # self.value 는 현재 객체의 value 속성
def print_value(self):
print(self.value) # 현재 객체의 value 출력
. dot 의 역할
1. 속성 접근
객체의 속성이나 메서드에 접근할 때 사용
2. 메서드 호출
현재 객체의 특정 기능 (메서드) 실행할 때 사용
node_a = Node('A')
node_a.print_value() # A 출력
self 와 dot 예시
class Dog:
def __init__(self, name):
self.name = name # 개의 이름을 저장하는 속성
def bark(self):
print(f"{self.name} says Woof!") # 개가 짖는 메서드
# 객체 생성
dog1 = Dog("Buddy")
dog2 = Dog("Max")
# 각각의 객체 메서드 호출
dog1.bark() # "Buddy says Woof!"
dog2.bark() # "Max says Woof!"
1. 객체 생성 - dog1 과 dog2 는 Dog 클래스의 인스턴스, 각각의 이름 (name) 속성이 다르게 설정된다
2. 메서드 호출 - dog1.bark() 를 호출하면, self 는 dog1 을 참조하게 되고 self.name 은 "Buddy" 가 된다
self 는 메서드가 호출된 객체를 참조하여 객체의 속성과 메서드에 접근하는 데 사용된다
. 은 객체의 속성과 메서드에 접근하는 데 필수적인 연산자로, 객체 지향 프로그래밍에서
각 객체가 독립적으로 상태를 유지하고 동작할 수 있게 한다
반응형