1. 클래스 (Class) & 메소드 (Method)
클래스는 여러 함수를 담고 있는 묶음이다.
이 때 클래스 내에 존재하는 함수를 메소드(Method)라 부른다.
통상 클래스 이름은 대문자로 시작한다.
자세한 설명은 예시 먼저 투척하고 하단에 쓰도록 하겠다.
#Example : 클래스 정의
class Plus_Minus:
def getdata(self, x1, x2):
self.one = x1
self.two = x2
return "setting complete!"
def plus(self):
return self.one + self.two
def minus(self):
return self.one - self.two
#Example : 객체 1개의 클래스 사용
a = Plus_Minus()
print(a.getdata(2, 3), a.plus(), a.minus())
>> setting complete! 5 -1
클래스는 다수의 객체(object)를 만들어낼 수 있다.
예시에서 a가 그 객체에 해당하는데, 클래스의 결과 값을 리턴받는 존재로서 Plus_Minus의 인스턴스라고 칭하기도 한다.
또한, 객체는 클래스를 정의하는 단계에서 self에 자동 할당되는 값이다.
따라서 클래스를 정의할 때 모든 메소드의 첫 번째 매개변수에 self를 작성해야 객체를 사용할 수 있다.
더불어 self는 자동 할당되기 때문에, 아래 식이 성립한다.
(메소드를 정의할 때 작성해 둔 매개변수 수) = (메소드를 사용할 때 입력하는 매개변수 수) + 1
메소드를 실행할 때에는 객체.함수명() 의 형태로 작성해야 하며, print 함수를 써야 값을 추출할 수 있다.
#Example : 객체 2개의 클래스 사용
b = Plus_Minus()
print(b.getdata(9, 5), b.plus(), b.minus())
print("---")
print(a.plus())
>> setting complete! 14 4
>> ---
>> 5
클래스의 중요한 특징 중 하나는 객체마다 고유성을 가지고 있다는 점이다.
예시를 보면 두 번째로 생성된 객체인 b로 클래스를 사용했지만,
객체 a의 값에는 변화가 없는 것을 확인할 수 있다.
'코딩' 카테고리의 다른 글
[Python] 오류 관리 (Error, try-except) (0) | 2024.11.07 |
---|---|
[Python] 모듈, 패키지, 라이브러리, import (0) | 2024.11.06 |
[Python] 함수 (사용자 지정 함수, lambda, map) (0) | 2024.11.04 |
[Python] 조건문, 반복문 (if, for, while) (0) | 2024.11.03 |
[Python] 복합 자료형 (dictionary, set) (2) | 2024.11.02 |