본문 바로가기
코딩공부/Python

[python]class, method, instance, init, self / TIL_220913

by Dong_Devlog 2022. 9. 13.

class는 반복되는 불필요한 소스코드를 최소화 하여 쉽게 표현할 수 있도록 해주는 문법

마법사 캐릭터를 클래스로 표현 하면 체력, 마나, 공격력, 방어력 등의 데이터가 클래스의 속성이고 공격, 방어, 회피 등의 기능이 메서드이다.

 

class의 기본 구조

profile1, 2, 3.. 의 instance를 추가하여 쉽게 반복 사용할 수 있다.

class Profile:
    def __init__(self, name, age):
        self.name = name
        self.age = age
        print(f"{name}(이)는 {age}살 입니다.")

profile1 = Profile("영희", "12")	#영희(이)는 12살 입니다.
profile2 = Profile("민준", "13")	#민준(이)는 13살 입니다.

 

method는 클래스 안에 들어 있는 함수를 뜻한다.

instance.get_profile() 메서드를 호출하여 메서드의 수행문을 수행한다.

class Profile:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def get_profile(self):
        print(f"{self.name}(이)는 {self.age}살 입니다.")

profile1 = Profile("영희", "12")
profile1.get_profile()	#영희(이)는 12살 입니다.
profile2 = Profile("민준", "13")
profile2.get_profile()	#민준(이)는 13살 입니다.

 

instance와 객체는 같은 것 을 뜻한다.

profile1 은 객체, profile1은 Profile의 인스턴스 라고 표현할 수 있다.

결국 class는 수많은 객체를 만들어내기 위해 필요한 문법인 것 이다.

 

init은 클래스를 선언하는 순간 실행되는 함수로 최초 메소드 내에 인스턴스 변수를 작성하고나 참고하는데 사용.

 

self

메서드는 일반적으로 'self'인 첫 번째 매개변수를 가지고 있어야 함.

댓글