본문 바로가기

파이썬/3. 객체지향 프로그래밍

파이썬 객체지향 프로그래밍

객체지향 프로그래밍에 대해 알아보자.

 

그전에 객체지향 프로그래밍은 무엇일까?

비교 대상이 있으면 이해가 쉽다.

절차지향 프로그래밍과 객체지향 프로그래밍을 비교해보자.

 

절차지향 프로그래밍

  • 말 그대로 순차적인 처리가 중시되는 프로그래밍
  • 프로그램 전체가 유기적으로 연결됨
  • 컴퓨터의 처리 방식과 유사해 빠른 속도가 장점
  • ex) C, 코볼 파스칼, 포트란 등

객체지향 프로그래밍(Object Oriented Programming)

  • 개발하고자 하는 것을 기능별로 묶어 모듈화하는 프로그래밍 방식
  • 중복된 연산을 하지 않고 모듈을 재활용하여 하드웨어 처리량 절약
  • ex) Python, C++, C#, JAVA 등 매우 많다

OPP의 4가지 특성

  1. 추상화(Abstraciton)
    • 공통의 속성이나 기능을 묶어 이름을 붙이는 것
    • OOP 에서 클래스를 정의하는 것을 추상화라고 할 수 있다.
  2. 캡슐화 (Encapsulation)
    • 변수와 함수를 하나로 묶어서 외부에서의 접근을 막고, 함수를 통해서만 접근 가능하도록 하는 것
    • 객체가 맡은 역할을 수행하기 위한 데이터를 하나로 묶는다 (은닉화)
  3. 상속성, 재사용 (Inheritance)
    • 상위 개념의 특징을 하위 개념이 물려 받는 것
  4. 다형성 (Polymorphism)
    • 부모 클래스로부터 물려받은 가상 함수를 자식 클래스 내에서 오버라이딩 하여 사용하는 것

참고자료

각자 나름의 장점이 있으니 참고할 것.

앞으로 파이썬의 객체지향 프로그래밍에 대해 알아본다.