TIL | Get Ready for Django - 2

객체 지향 프로그래밍

파이썬은 유명한 객체 지향 언어(Object-Oriented Programming, OOP)이다. 객체 지향 언어의 장점 중 하나는 하나의 객체를 만들어서 여러 객체를 생성할 수 있고, 객체를 관리하기 편하다.

프론트엔드 개발자 - 프엔이 와 백엔드 개발자 - 백엔이 두명이 있다. 그들의 일과는 이러하다.

<프엔이와 백엔이의 하루 일과>

  • 아침 8시 - 기상
  • 8시 ~ 9시 - 아침먹고 씻음
  • 9시 ~ 12시 - 업무 보고 일지 작성
    • 프엔이 : 구현한 웹 페이지가 제대로 동작하는지 확인하고 브라우저 별 호환성 체크
    • 백엔이 : 서버 가동 준비, 서버 상태 확인
  • 12시 ~ 13시 - 점심 시간
  • 13시 ~ 15시 - 교육
  • 15시 ~ 16시 - 회의
  • 16시 ~ 18시 - 새로운 프로젝트 수행 및 정리
    • 프엔이 : 외국인 클라이언트를 위한 번역 기능 구현
    • 백엔이 : 보안 강화를 위한 기능 구현
  • 18시 ~ 20시 - 저녁 식사 후 운동
  • 20시 ~ 22시 - 집에서 휴식
  • 22시 ~ - 취침

(*실제 일과와는 무관하다 못해 전혀 다를 수 있음)

하루 일과를 다 적기에는 너무 길다. 이제 이 둘의 일과를 개발자의 일과로 묶어서 일과를 설명해보자.

<개발자의 일과>

오전 일과 : 기상, 아침 식사, 세면, 업무 일지 작성
오후 일과 : 점심 식사, 교육, 회의, 프로젝트 수행 및 정리, 저녁 식사, 운동, 휴식, 취침

이렇게 공통된 일과를 한번에 정리해 주고 각자의 업무에 대해서 따로 추가해 준다.

<프엔이의 일과>

오전 일과 : 구현한 웹 페이지가 제대로 동작하는지 확인하고 브라우저 별 호환성 체크
오후 일과 : 외국인 클라이언트를 위한 번역 기능 구현

<백엔이의 일과>

오전 일과 : 서버 가동 준비, 서버 상태 확인
오후 일과 : 보안 강화를 위한 기능 구현

위에 하루 일과를 다 설명한 것보다 훨씬 깔끔해졌다. 이것이 객체 지향 프로그래밍의 장점이다. 공통된 작업은 같이 써주고 다른 부분에 대해서는 각 객체별로 따로 추가해주면 된다. 이제 파이썬으로 객체를 생성해보자.

객체 생성하기

카페를 예로 들어보자.

class Cafe():
  americano = 4000
  caffe_latte = 4500
  cappuccino = 4800
  espresso = 3800
  caffe_mocha = 5300

starbucks = Cafe()
pascucci = Cafe()
print(starbucks.americano)
print(pascucci.caffe_mocha)

class를 이용하여 class를 만든다. Cafe를 만들어 보았다.
그리고 Cafe에 커피들의 가격을 적는다. 그리고 class밖에 스타벅스와 파스쿠치를 카페로 등록해 준다.

그 다음 스타벅스의 아메리카노를 출력하면 아메리카노 가격인 4000원이 출력되고, 파스쿠치의 카페모카를 출력하면 5300원이 출력된다.
하지만 모든 카페의 커피 가격이 동일하지 않기 때문에 카페별로 가격을 다르게 설정해줘야 할 것이다.

class Cafe():
  americano = 4000
  caffe_latte = 4500
  cappuccino = 4800
  espresso = 3800
  caffe_mocha = 5300

starbucks = Cafe()
pascucci = Cafe()

starbucks.americano = 4500
starbucks.caffe_latte = 5000

print(starbucks.americano, starbucks.caffe_latte)
# 4500 5000

하지만 이렇게 일일이 지정해 주기에는 깔끔해 보이지 않다. 다음에는 메서드를 이용하여 깔끔하게 객체를 사용하는 방법을 작성하겠다.

좋은 웹페이지 즐겨찾기