본문 바로가기
005 프로그래밍/Python

[Python] Class에서 'self'를 사용하는 이유와 역할

by Dallas 2023. 2. 17.
반응형

Python 에서는 Class 형식을 제공해, 객체지향 프로그래밍을 가능하게 한다.

Class 형식의 코드의 예시는 아래와 같다.

 

<코드 예시>

# class 생성
class myClass :
  def myFunction(self) :
    print('This is myClass')


myclass1 = myClass()  # myclass1 이라는 변수에 myClass를 할당
myclass1.myFunction()  # 'This is myClass' 출력

  


 

여기에서 "self"의 역할은 myFunction이라는 함수를 class의 밖에서도 사용할 수 있도록 해준다. 따라서, "self" 없이 작성한 아래의 코드블럭에서는 에러를 유발한다.

 

# class 생성
class myClass2 :
  def myFunction() :
    print('This is myClass2')
    
myclass2 = myClass2()  # myclass2 변수에 myClass2 class를 할당
myclass2.myFunction()  # Error : TypeError

 


 

"self"의 역할은 class 밖에서도 해당 함수를 사용할 수 있게 해주는 것이기 때문에, 만약 class 내에서만 사용할 함수라면, "self"가 없어도 사용할 수 있다.

 

<코드 예시>

 

# class 생성
class myClass2 :
  def myFunction() :
    print('This is myClass2')
  myFunction()
    
myclass2 = myClass2()  # myclass2 변수에 myClass2 class를 할당, print 문 호출 "This is myClass2"
반응형

댓글