0. Introduction
[TIL] Python basic 14: class 에서 언급한
절차지향 프로그래밍이 구체적으로 무엇인지 간단히 구현한다.그 다음 클래스를 사용한
객체지향 프로그래밍에 대해 알아보겠다.절차지향 프로그래밍은 일반적인 과거의 코딩방식으로, 함수 중심이기 때문에, 데이터가 방대하여 복잡하다는 단점이 있다.이에 대한 해결책이
OOP(Object Oriented Programming)으로객체지향 프로그래밍이다.클래스 중심으로 사용하기 때문에 객체로 관리하기 때문에, 다음과 같은 특징이 있다.
- 코드의 재사용성이 낮다.
- 코드 중복을 방지할 수 있다.
- 유지보수가 좋다.
- 대형 프로젝트에 적합하다.
1. 절차지향 프로그래밍 (Procedural Programming)
- 그럼 예시 코드로 절차지향 프로그래밍을 구현해보자.
- 절차지향으로 프로그래밍할 경우, 항공사의 종류 갯수대로 직접 다 입력해야 한다.
| |
- 리스트 구조로 또 입력해보자.
| |
- 이런 방식으로 입력할 경우, 데이터를 삭제하기가 불편하다.
- index를 사용하여 삭제할 때, 데이터 양이 많으면 index 번호를 알기가 어렵기 때문이다.
- 그리고, index로 접근 시 실수할 가능성이 높다.
- 다음으로 딕셔너리 구조로 입력해보자.
| |
- 딕셔너리 안에 딕셔너리가 있는 형식으로 작성했다.
- 여전히 코드의 반복은 지속되어, 개발자에게 피로도를 증가시킨다.
- 키 중첩 문제가 존재하며, 키 조회 시 예외 처리를 해야한다.
2. 객체지향 프로그래밍 (OOP)
| |
class 로 틀을 만들어서 airline instance를 손쉽게 만들었다.
instance에 담긴 구체적인 정보를 알고싶을 때는
__dict__를 사용하는 것도 알 수 있다.이렇듯 절차지향과 객체지향 다 장단점이 있어 적절한 곳에 사용해야 한다.
하지만, 절차지향의 단점을 해결하는 객체지향을 잘 사용해서 코드의 재사용성과 유지보수까지 고려하자.