0%

Class,Instance

Class, 객체, Instance

Class

함수의 호출은 특정 잡업만을 수행할 뿐 그 결과값을 계속 사용하기 위해서는 반드시 어디가에 따로 저장해야만 합니다. 즉, 함수를 포함한 프로그램 코드의 일부를 재사용하기 위해서는 해당 함수뿐만 아니라 데이터가 저장되는 변수까지도 한꺼번에 관리하는 것이 편할 것입니다. 이처럼 함수뿐만 아니라 관련된 변수까지도 한꺼번에 묶어서 관리하고 재사용할 수 있게 해주는 것이 바로 클래스(Class)입니다.

객체(Object), 인스턴스(Instance)

과자를 계속해서 찍어낼 수 있는 틀을 클래스(class)라고 한다면, 이러한 과자틀에서 찍혀 나온 맛있는 쿠키들이 하나의 객체라고 이해할 수 있는 것입니다. 이렇게 찍혀서 나온 객체들을 우리는 인스턴스(Instance)라고 부릅니다. 객체와 인스턴스는 전혀 별개의 것이 아니며, 객체를 바라보는 관점의 차이입니다.

image

그림에서 과자틀은 Class, 만들어진 과자는 Instance로 비유할 수 있습니다.
즉, 클래스는 똑같은 무엇인가를 계속해서 만들어낼 수 있는 설계 도면 같은 것이고, 인스턴스란 클래스에 의해서 만드러진 피조물과 같은 개념입니다.

속성(attribute)과 메소드(method)

클래스는 여러 함수와 변수들을 한번에 묶어서 관리하기 위해 사용한다고 했습니다.이 때 클래스에 포함되는 변수를 속성이라고 부르며, 클래스 내부에 있는 함수를 메소드라고 부릅니다.

예를 들어, 가수를 클래스로 작성한다면 속성으로는 퀸, bts처럼 가수들이 있을 수 있으며, 메소드로는 춤추기, 노래하기 등을 만들 수 있을 것입니다.

클래스의 속성과 메소드를 묶어서 클래스멤버라고 부릅니다.

image-20200619160109841

참고블로그: 점프투파이썬, tcpschool