이 페이지는 미완성 초고입니다. 정식 출간된 책으로 학습하시는 것이 더 좋습니다.
8장을 맺으며
8장에서는 파이썬에서 데이터 유형을 다루는 방법을 자세히 알아보았다. 클래스와 인스턴스의 관계를 이해했고, 데이터 유형을 정의하는 방법과 각 데이터 유형에 알맞는 메서드를 정의하는 방법을 배웠다. 클래스를 사용하지 않더라도 프로그램을 만들 수 있다. 하지만 클래스를 이용하면 데이터를 체계적으로 분류하고 데이터의 유형에 따라 코드를 정리하여 프로그램이 복잡해지는 것을 완화할 수 있다. 또한, 파이썬의 수많은 기능이 대부분 클래스를 이용해 구현되어 있기 때문에 이를 잘 이용하기 위해서도 클래스와 객체를 잘 이해하는 것이 필요하다.
8장 요약
- 다양한 데이터를 범주에 따라 분류하고, 취급 방법을 달리해야 한다. 이를 위한 약속이 필요하다.
- 파이썬의 모든 데이터는 객체이며, 클래스를 이용해 이를 분류한다. 어떤 클래스에 속하는 객체를 그 클래스의 인스턴스라고 한다.
- 클래스의 이름에 괄호를 붙여 인스턴스화 할 수 있다.
- class 문을 이용해 클래스를 직접 정의할 수 있다. class 문 안에는 클래스가 가질 속성을 정의한다.
- 클래스 또는 인스턴스의 속성으로 정의된 함수를 메서드라고 한다. 인스턴스를 기준으로 메서드를 호출할 경우, 그 인스턴스가 첫번째 인자로 전달된다. 메서드는 이를 관례적으로
self
라는 매개변수로 전달받는다. __init__()
메서드를 이용해 인스턴스의 초기 속성을 정의한다.- 클래스와 인스턴스는 일종의 이름공간이다. 이름공간은 문맥의 역할을 하며 상황에 따라 접근할 수 있는 범위가 상황에 따라 다르다.
- 클래스는 다른 클래스의 하위 클래스가 될 수 있다. 하위 클래스는 상위 클래스의 속성에 접근할 수 있다. 상속을 활용해 범주의 포함관계를 나타내거나 공통 속성을 재사용할 수 있다.
- 다른 사람이 클래스를 쉽고 안전하게 사용할 수 있도록 인터페이스를 잘 정의해야 한다. 이를 위해 클래스의 속성을 감추고 꼭 필요한 메서드만을 외부로 노출하는 캡슐화 기법을 활용한다.
- 이중 밑줄 메서드를 정의하여 연산자가 클래스에 대해 실행할 연산을 정의할 수 있다.
댓글 남기기