1. 클래스 생성자
클래스의 인스턴스를 만드는 데 사용되는 괄호는 클래스 생성자라고 합니다. 클래스 생성자는 클래스에 대한 새 인스턴스를 만드는 데 사용되는 메서드입니다. 클래스 생성자는 클래스 이름 뒤에 괄호를 사용하여 호출됩니다. 예를 들어, 다음 코드는 KNeighborsClassifier 클래스의 새 인스턴스를 생성합니다.
from sklearn.neighbors import KNeighborsClassifier
kn = KNeighborsClassifier()
괄호 내에서 클래스 생성자에 전달할 수 있는 인수가 있을 수 있으며 인수는 클래스 생성자가 새 인스턴스를 생성하는 데 사용하는 값입니다. 예를 들어, 다음 코드는 KNeighborsClassifier 클래스의 새 인스턴스를 생성하고 인스턴스에 5개의 이웃을 설정합니다.
from sklearn.neighbors import KNeighborsClassifier
kn = KNeighborsClassifier(n_neighbors=5)
2. 인스턴스
인스턴스는 클래스의 특정 예시를 의미하며 클래스는 인스턴스의 집합이라고 할 수 있습니다. 예를 들어, Person 클래스를 "사람"의 인스턴스들의 집합으로 생각해볼 수 있습니다. Person 클래스의 인스턴스는 John Doe, Jane Doe, Michael Smith와 같은 실제 사람들을 나타낼 수 있습니다. 이러한 인스턴스들은 클래스에 정의된 속성과 메서드에 접근할 수 있습니다.
속성은 클래스의 특정 상태를 나타내는 값입니다. 예를 들어, Person 클래스의 age 속성은 사람의 나이를 나타내는 값입니다. 이러한 속성은 각 인스턴스에 따라 다른 값을 가질 수 있습니다.
메서드는 클래스의 작업을 수행하는 함수입니다. 예를 들어, Person 클래스의 speak() 메서드는 사람이 말하는 행동을 수행하는 함수이며 인스턴스는 해당 클래스의 메서드를 호출하여 작업을 수행할 수 있습니다. 예를 들어, 다음 코드는 Person 클래스의 인스턴스인 John Doe가 speak() 메서드를 호출하여 말하는 동작을 수행합니다.
john_doe = Person("John Doe", 30)
john_doe.speak()
# 출력 : Hello! My name is John Doe.