Language/Python

[Python] 클래스 / 오브젝트

nineil91 2021. 9. 27. 16:27

파이썬은 객체지향 언어로서, 거의 모든 파이썬에서 쓰이는 것은 객체이다.

 

클래스

class TestClass :
	x = 1
    
c1 = TestClass()
print(c1.x)
1

 

__init()__ 함수

모든 클래스에는 클래스가 시작될 때 항상 실행되는 __init__()(←파이썬 내장함수) 이라는 함수가 있음. 이를 사용하여 객체 속성에 값을 할당하거나 객체가 생성될 때 수행히야 하는 기타 작업 수행.

class Person:
	def __init__(self, name, age):
    	self.name = name
        self.age = age
        
p1 = Person("John", 36)

print(p1.name)
print(p1.age)

__init__() 함수는 클래스를 사용하여 새 객체를 생헝할 때마다 자동으로 호출됨.

 

 

메소드 객체

객체에서는 메소드도 포함될 수 있다. 이는 객체에 속하는 함수를 말한다.

class Person:
	def __init__(self, name, age):
    	self.name = neme
        self.age = age
    
    def myfunc(self):
    	print("Hello my name is " + self.name)

p1 = Person("Inil", 30)
p1.myfunc()
Hello my nme is Inil

self 매개변수는 클래스의 현재 인스턴스에 대한 참조이며 클래스에 속한 변수에 액세스하는 데 사용된다.

 

 

self 매개변수

self 매개변수는 클래스의 현재 인스턴스에 대한 참조이며 클래스에 속한 변수에 액세스하는 데 사용된다. 이름을 self로 지정하는 것이 통상적임. self로 지정 할 필요는 없고 원하는 대로 호출 할 수 있지만 클래스에 있는 모든 함수의 첫번째 매개변수여야함.

class Person:
	def __init__(mysillyobject, name, age):
    	mysillyobject.name = name
        mysillyobject.age = age
        
    def myfun(abc):
    	print("Hello my name is " + abc.name)
        
p1 = Person("inil", 30)
p1.myfunc()
Hello my name is inil

 

출처

: https://www.w3schools.com/python/python_classes.asp