파이썬 모르는 것 정리.
2023. 5. 21. 23:58ㆍ카테고리 없음
반응형
필드와 속성의 차이.
종종 혼용해서 쓴다는데 다르긴 하다.
필드 : 객체에 속하는 변수를 사용해 데이터를 저장한다.
속성 : 필드와 메소드를 통틀어 이용하는 말.
class Car:
# 필드(클래스 속성) 정의
manufacturer = "BMW"
def __init__(self, model):
# 속성(인스턴스 변수) 정의
self.model = model
def get_manufacturer(self):
# 메서드에서 필드(클래스 속성) 참조
return self.manufacturer
def get_model(self):
# 메서드에서 속성(인스턴스 변수) 참조
return self.model
# Car 클래스의 인스턴스 생성
my_car = Car("X5")
# 필드에 접근하여 값을 출력
print(my_car.manufacturer) # 출력: BMW
# 속성에 접근하여 값을 출력
print(my_car.model) # 출력: X5
# 메서드 호출하여 필드와 속성 사용
print(my_car.get_manufacturer()) # 출력: BMW
print(my_car.get_model()) # 출력: X5
챗 GPT 예시이다. 변수명을 직접적으로 클래스 단에서 선언한 것이 필드이다. 속성은 인스턴스 단에서 정의가 된다. 이렇게 세팅을 하게 되면 필드는 클래스 내의 모든 인스턴스가 공통의 값을 나타낸다는 것이고 속성은 각 인스턴스마다 다른 값을 적용할 수 있다.
class HyundaeCar:
car_name='Hyundae'
def drive(self):
print('drive')
def brake(self):
print('brake')
car1 = HyundaeCar()
# car1.name = car1.car_name
#
# print(car1.name)
print(HyundaeCar.car_name)
내가 짠 예제코드. 클래스이름.필드명 하면 프린트 출력된 것이 확인된다.
728x90