[Python] 클래스 이해하기

클래스를 설명할 때 흔히 쓰는 표현은 ‘클래스는 거푸집에 해당하고 객체는 그 거푸집으로 찍어내는 벽돌에 해당한다.’는 것이다. 물론 완전히 틀린 설명은 아닌데, 이 개념에서 출발해서 클래스를 이해하는 것은 객체와 클래스의 관계와 클래스를 어떻게 다룰 것인지 등 여러 관점을 정립하는데 많은 어려움을 유발한다.

이 글은 파이썬 초보자들이 클래스에 대해 접근하고 이해하는데 도움을 주고자 작성됐다.

모든 것은 객체이다.

파이썬에서 통용되는 가장 중요한 대전제는 모든 것이 객체라는 것이다. 1, 2와 같은 숫자값도 C처럼 원시값이 아니라 int 타입의 객체이다. 함수 역시 객체이고 모듈이나 패키지도 객체처럼 취급된다. 모든 것이 객체라면, 클래스 그 자체도 객체라는 말이된다. 그럼 이 시점에서 다시 한 번 되물어보자. 도대체 객체란 무엇인가?

[Python] 클래스 이해하기 더보기

코어데이터의 기본 개념

코어데이터에 대한 개념 정리를 좀 해보자.

코어데이터는 고정된 저장소와 메모리상의 스크래치 보드를 연결하여, 마치 어떤 데이터 클래스 객체들의 배열을 다루는 코드로 데이터를 생성, 편집, 삭제하며 저장할 수 있는 기능을 제공하는 프레임워크이다. 코어 데이터 내에서 사용되는 데이터 클래스들은 각각의 프로퍼티에 대해 확장된 KVC/KVO를 사용하는 것으로 최대한 유연하게 동작하기 때문에 사실상 개별 데이터의 클래스에 구애받지 않는 범용 API들을 설계해두고 있다.

코어데이터의 기본 개념 더보기