클래스 메서드 예제

이렇게 하면 이러한 세 가지 메서드 형식 간의 구분이 좀 더 명확해져야 합니다. 그러나 나는 그것을 떠나지 않을 것이다. 다음 두 섹션에서는 이러한 특수 메서드 형식을 사용할 시기에 대해 약간 더 현실적인 두 가지 예제를 살펴보겠습니다. 파이썬은 클래스당 __init__ 메서드 하나만 허용합니다. 클래스 메서드를 사용하면 필요에 따라 많은 대체 생성자도 추가할 수 있습니다. 이렇게 하면 클래스에 대한 인터페이스가 어느 정도 자체 문서화되고 사용량이 단순화될 수 있습니다. Java Method 장에서 메서드가 클래스 내에서 선언되고 특정 작업을 수행하는 데 사용된다는 것을 배웠습니다. Bicycle 클래스의 경우 인스턴스 변수는 케이던스, 기어 및 속도입니다. 각 Bicycle 개체에는 서로 다른 메모리 위치에 저장된 이러한 변수에 대한 고유한 값이 있습니다. 2) 우리는 자동차 클래스에서 전체Throttle() 및 speed() 메서드를 만들었습니다. MyClass의 첫 번째 메서드인 메서드는 일반 인스턴스 메서드입니다. 이것이 대부분의 경우 기본, 프릴 없는 메서드 유형입니다. 메서드가 호출될 때 MyClass 의 인스턴스를 가리키는 하나의 매개 변수인 self를 사용하는 방법을 볼 수 있습니다(물론 인스턴스 메서드는 두 개 이상의 매개 변수를 허용할 수 있음).

정적 메서드는 클래스 이름, 예를 들어 Math.max(i,j);로 접두사하여 호출됩니다. 흥미롭게도 무시되는 객체로 한정할 수도 있지만 개체의 클래스가 사용됩니다. 나는이 토론이 지금까지 상당히 이론적이었다 알고있다. 그리고 이러한 메서드 형식이 실제로 어떻게 다른지 에 대한 직관적인 이해를 개발하는 것이 중요하다고 생각합니다. 이제 몇 가지 구체적인 예를 살펴보겠습니다. 이제 클래스 자체에서 이러한 메서드를 호출하려고 할 때 개체 인스턴스를 미리 만들지 않고 수행합니다. 즉, 자기에 대한 액세스가 필요합니다. 그러나 클래스 메서드는 클래스의 모든 인스턴스에 적용되는 클래스 상태를 수정할 수 있습니다. self 매개 변수를 통해 인스턴스 메서드는 동일한 개체의 특성 및 기타 메서드에 자유롭게 액세스할 수 있습니다. 이렇게 하면 개체의 상태를 수정할 때 많은 힘을 얻게 됩니다.