객체지향 프로그래밍에 대해 알아보자.
그전에 객체지향 프로그래밍은 무엇일까?
비교 대상이 있으면 이해가 쉽다.
절차지향 프로그래밍과 객체지향 프로그래밍을 비교해보자.
절차지향 프로그래밍
- 말 그대로 순차적인 처리가 중시되는 프로그래밍
- 프로그램 전체가 유기적으로 연결됨
- 컴퓨터의 처리 방식과 유사해 빠른 속도가 장점
- ex) C, 코볼 파스칼, 포트란 등
객체지향 프로그래밍(Object Oriented Programming)
- 개발하고자 하는 것을 기능별로 묶어 모듈화하는 프로그래밍 방식
- 중복된 연산을 하지 않고 모듈을 재활용하여 하드웨어 처리량 절약
- ex) Python, C++, C#, JAVA 등 매우 많다
OPP의 4가지 특성
- 추상화(Abstraciton)
- 공통의 속성이나 기능을 묶어 이름을 붙이는 것
- OOP 에서 클래스를 정의하는 것을 추상화라고 할 수 있다.
- 캡슐화 (Encapsulation)
- 변수와 함수를 하나로 묶어서 외부에서의 접근을 막고, 함수를 통해서만 접근 가능하도록 하는 것
- 객체가 맡은 역할을 수행하기 위한 데이터를 하나로 묶는다 (은닉화)
- 상속성, 재사용 (Inheritance)
- 상위 개념의 특징을 하위 개념이 물려 받는 것
- 다형성 (Polymorphism)
- 부모 클래스로부터 물려받은 가상 함수를 자식 클래스 내에서 오버라이딩 하여 사용하는 것
참고자료
각자 나름의 장점이 있으니 참고할 것.
앞으로 파이썬의 객체지향 프로그래밍에 대해 알아본다.
'파이썬 > 3. 객체지향 프로그래밍' 카테고리의 다른 글
파이썬 연산자 오버로딩(operator overloading) (0) | 2020.04.28 |
---|---|
파이썬 메서드 오버라이딩(Method Overriding)과 다형성(Polymorphism) (0) | 2020.04.28 |
파이썬 클래스 상속, 합성과 통합 (0) | 2020.04.28 |
파이썬 캡슐화와 정보은닉 (0) | 2020.04.28 |
파이썬 클래스, 멤버, 메서드 (0) | 2020.04.28 |