파이썬/파이썬(python) 중급

[16-3 파이썬] 클래스(Class)

Olivia-BlackCherry 2022. 8. 23. 17:42

지난 시간 객체를 이루는 2가지 요소인 '속성'과 '메소드'에 대해 이야기했다.

https://olivia-blackcherry.tistory.com/101 

 

[16-2 파이썬] 객체를 구성하는 속성, 메서드(attribute, method)

지난 시간 객체지향 프로그래밍과 절차지향 프로그래밍에 대해서 공부했다. https://olivia-blackcherry.tistory.com/100 [16-1 파이썬] 객체지향 프로그래밍(OOP) vs 객체지향 프로그래밍 파이썬은 객체지향

olivia-blackcherry.tistory.com

 

 

오늘은 객체보다 더 큰 개념인 '클래스'에 대해 이야기해보겠다. 

 

지난 시간에 이어, 백종원 사장님을 예로 들어보자.

 

더본 백종원 사장님은 

수많은 프랜차이즈 음식점을 가지고 있다. 

종류가 엄청나게 다양하다.

중국집, 쌈밥집, 포장마차, 파스타집 등 수십가지이다.

 

만약 이 가게들이

음식점이 아니라,

철물점, 학원, 과일 가게였다면 어땠을까? 

가게 간 성질이 다르기 때문에 통합적으로 운영하기 힘들어, 확장 속도가 빠르지 않았을 거다.

 

하지만 더본 프랜차이즈 가게들은

음식점이라는 큰 개념이 동일하다.

때문에 수많은 음식점을 빠르게 확장시킬 수 있었다고 생각한다.

 

아마도

백종원 사장님에게는

모든 음식점에 공통으로 적용할 수 있는

음식점에 관한

커다란 청사진이 있었을 거다.

 

 

가게를 내는 데 필요한 물건

의자, 식탁, 주방용기, 가스렌지가 있을 것이고

가게를 내는 데 필요한 기술

종업원을 관리하는 방법, 밑반찬을 관리하는 방법, 손님을 대하는 방법, 청소하는 방법이 있을 것이다.

 

이런 기본 틀은 동일하게 하고, 

 

메인 메뉴, 가게 디자인 등 

몇가지만 다르게 바꿔

다른 음식 프랜차이즈를 개업하는 것이다.

 

홍콩반점, 새마을식당, 역전우동 처럼 말이다!!

백종원 사장님은

이와 같은 방법으로,

원하는 만큼 많은

서로 다른 분야의 음식점을 얼마든지 만들 수 있었을 거다.

 

 

1. 클래스, 객체

자, 이제부터

이것을 프로그래밍 언어로 정리해보자.

파이썬에서는

청사진의 역할을 하는 기본틀, 즉 청사진을 클래스라고 하고,

클래스의 성질을 가지고 만들어 진 것들을 객체라고 한다.

 

 

 

2. 코드로 작성하기

코드로 작성해보자.

FoodStore

백종원 음식점의 청사진은 클래스이다.

FoodStore라고 이름짓자.

 

클래스의 표기법은 파스칼 표기법을 따른다.

각 단어의 첫 글자는 대문자로 쓴다는 것이다.

 

클래스 뒤에는 괄호를 붙인다. ()

괄호는 활성화한다는 뜻이다.

즉, 클래스로부터 이 객체를 활성화한다는 의미다.

 

우리는 클래스를 통해

수많은 객체를 만들 수 있다. 

 

홍콩반점 = FoodStore()

새마을식당 = FoodStore()

역전우동 = FoodStore()

...

한신포차 = FoodStore()

백스비어 = FoodStore()

빽다방 = FoodStore()

....

 

 

다음 시간에는 클래스로 객체를 만들고

속성과 메소드에 접근하는 연습을 해보겠다.