Menu
Coddy logo textTech

속성

Coddy Python 여정의 Object Oriented Programming 섹션에 포함된 레슨 — 64개 중 6번째.

속성은 클래스나 그 객체에 속하는 데이터 또는 변수입니다. 이들은 객체의 상태에 대한 정보를 저장합니다.

속성에는 두 가지 유형이 있습니다: 

클래스 속성(Class attributes) - 클래스의 모든 객체에 의해 공유됩니다:

class Student:
    school_name = "Python Academy"  # 클래스 속성

인스턴스 속성 - 각 객체에 고유함:

class Student:
    school_name = "Python Academy"
    
    def set_info(self, name, age):
        self.name = name    # 인스턴스 속성
        self.age = age      # 인스턴스 속성

학생 객체를 생성하고 각각의 데이터를 설정합니다:

student1 = Student()
student2 = Student()

student1.set_info("Alice", 20)
student2.set_info("Bob", 22)

인스턴스 속성에 접근하기 (각 객체마다 고유함):

print(student1.name)    # Alice
print(student2.name)    # Bob
print(student1.age)     # 20

클래스 속성에 접근하기 (모든 객체에 대해 동일):

print(student1.school_name)    # Python Academy
print(student2.school_name)    # Python Academy
print(Student.school_name)     # Python Academy

출력:

Alice
Bob
20
Python Academy
Python Academy
Python Academy

주요 차이점: 클래스 속성은 모든 객체에 의해 공유되는 반면, 인스턴스 속성은 각 객체마다 고유합니다. 인스턴스 속성에는 self.attribute_name을 사용하고 클래스 속성에는 단순히 attribute_name을 사용하세요.

치트 시트

속성(Attributes)은 클래스 또는 해당 객체에 속하는 데이터나 변수입니다.

클래스 속성(Class attributes) - 클래스의 모든 객체가 공유합니다:

class Student:
    school_name = "Python Academy"  # class attribute

인스턴스 속성(Instance attributes) - 각 객체마다 고유하며, self를 사용하여 정의합니다:

class Student:
    school_name = "Python Academy"
    
    def set_info(self, name, age):
        self.name = name    # instance attribute
        self.age = age      # instance attribute

인스턴스 속성에 접근하기:

student1 = Student()
student1.set_info("Alice", 20)
print(student1.name)    # Alice

클래스 속성에 접근하기:

print(student1.school_name)    # Python Academy
print(Student.school_name)     # Python Academy

직접 해보기

이 레슨에는 코드 챌린지가 없습니다.

quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

Object Oriented Programming의 모든 레슨