객체지향 프로그래밍
OOP (Object Oriented Programming)
OOP의 핵심은 class를 이용하여 instance를 구현하는 것이다.
여기서 말하는 class와 instance의 관계는 레시피와 요리의 관계라고 볼 수 있다.
음식 만드는 방법(객체를 생성하는 방법)은 레시피(class)에 나와 있지만 실제로 만들 때는 재료 양(속성)을 바꿀 수 있다.
즉, 클래스 안에는 객체를 생성할 때 필요한 내용들이 있지만 객체를 선언할 때 객체의 속성은 바꿀 수 있다.
인스턴스와 객체
a = Recipe() 라는 코드가 있을 때,
a는 객체(object)라고 하고, a는 Recipe 클래스의 인스턴스라고도 부른다.
즉, class와의 관계를 설명할 때는 인스턴스, a를 지칭할 때는 객체라고 부른다.
OOP의 특징 (상속, 다형성, visibility)
상속 (inheritance)
다형성 (Polymorphism)
Visibility
Tip. 파이썬의 모든 함수는 일급함수(first-class object)
Module & Package
Module
Package