📚 [Archive] CS & AI 스터디/[STUDY] Python 기초 🐍

[Python] 메소드와 어트리뷰트 쉽게 이해하기!

히주 2025. 1. 2. 20:07

 

안녕하세요 다들 2024년도 잘 마무리 하셨나요? 저는 독감에 걸려 많이 고생했습니다. 다들 감기 조심하세요... 아직 기침이 심하네요ㅠㅠ 요즘 독감이 유행이던데 감기 조심하셔야합니다. 객체 지향 프로그래밍에서 메소드와 어트리뷰트는 꼭 알아야 할 중요한 개념입니다. 특히 AI와 관련된 프로그램을 만들 때 자주 사용됩니다. 이번 글에서는 메소드와 어트리뷰트가 무엇인지 쉽게 설명해 드릴게요. 쉽게 말해 어트리뷰트는 정보이고, 메소드는 행동입니다. 좀 더 자세하고 쉽게 알아봅시다.

 


 

1. 어트리뷰트(Attribute)란?

어트리뷰트는 객체의 특성이나 상태를 나타냅니다. 예를 들어, AI 모델이 있다면 모델의 정확도(accuracy)나 학습률(learning rate) 같은 것이 어트리뷰트입니다. 아래 코드에서 nameaccuracy는 AI 모델의 어트리뷰트입니다.

class AIModel:
    def __init__(self, name, accuracy):
        self.name = name  # 모델 이름
        self.accuracy = accuracy  # 정확도

model1 = AIModel("VisionNet", 92.5)
print(model1.name)  # VisionNet 출력
print(model1.accuracy)  # 92.5 출력

 

2. 메소드(Method)란?

메소드는 객체가 할 수 있는 행동입니다. 예를 들어, AI 모델이 학습(train)하거나 예측(predict)하는 것은 메소드입니다.

여기서 improve는 메소드로 모델의 정확도를 높이는 역할을 합니다

class AIModel:
    def __init__(self, name, accuracy):
        self.name = name
        self.accuracy = accuracy

    def improve(self, increase):
        self.accuracy += increase
        print(f"{self.name} 모델의 정확도가 {self.accuracy}%로 향상되었습니다.")

model1 = AIModel("VisionNet", 92.5)
model1.improve(3.0)  # VisionNet 모델의 정확도가 95.5%로 향상되었습니다.

 

3. 메소드와 어트리뷰트의 차이

  • 어트리뷰트: 객체의 상태(데이터)
  • 메소드: 객체가 수행하는 행동(함수)