클래스 정의 및 인스턴스 생성
이 단계에서는 기본 클래스를 정의하고 해당 클래스로부터 객체, 즉 인스턴스를 생성하는 방법을 배웁니다.
객체 지향 프로그래밍에서 **클래스 (class)**는 객체를 생성하기 위한 청사진입니다. 클래스는 생성될 객체가 가질 속성 (데이터) 과 메서드 (함수) 의 집합을 정의합니다. **객체 (object)**는 클래스의 인스턴스로, 클래스 청사진을 기반으로 구축된 구체적인 개체입니다.
간단한 Dog 클래스를 생성하는 것부터 시작하겠습니다.
먼저, WebIDE 왼쪽의 파일 탐색기에서 dog.py 파일을 엽니다. 이 파일은 현재 비어 있습니다.
이제 dog.py에 다음 코드를 추가하여 Dog 클래스를 정의하고, 인스턴스를 생성하고, 이를 사용해 보겠습니다.
## Define a simple Dog class
class Dog:
## Class attribute
species = "Canis familiaris"
## Method
def bark(self):
print("Woof!")
## Create an instance (object) of the Dog class
my_dog = Dog()
## Access the class attribute using the instance
print(f"The species is: {my_dog.species}")
## Call the instance's method
print("The dog says:")
my_dog.bark()
코드를 분석해 보겠습니다.
class Dog:: 이 줄은 Dog라는 새 클래스를 정의합니다.
species = "Canis familiaris": 이것은 **클래스 속성 (class attribute)**입니다. 이 값은 Dog 클래스의 모든 인스턴스 간에 공유됩니다.
def bark(self):: 이것은 클래스 내의 함수인 **메서드 (method)**를 정의합니다. self 매개변수는 클래스의 현재 인스턴스에 대한 참조이며, 클래스에 속한 변수에 접근하는 데 사용됩니다.
my_dog = Dog(): 이 줄은 Dog 클래스의 새 인스턴스를 생성하고 이를 my_dog 변수에 할당합니다.
my_dog.species: 점 표기법 (dot notation) 을 사용하여 my_dog 객체의 species 속성에 접근합니다.
my_dog.bark(): my_dog 객체에서 bark 메서드를 호출합니다. Python 은 my_dog 객체를 self 인수로 메서드에 자동으로 전달합니다.
파일을 저장합니다. 스크립트를 실행하려면 WebIDE 에서 터미널을 열고 다음 명령을 실행하십시오.
python dog.py
객체가 올바르게 생성되었고 속성과 메서드에 성공적으로 접근했음을 확인하는 다음 출력을 볼 수 있습니다.
The species is: Canis familiaris
The dog says:
Woof!