절차지향 vs 객체지향

yeonjeong·2025년 2월 2일

오늘은 절차지향 프로그래밍과 객체지향 프로그래밍에 대해서 알아보는 시간을 갖도록 하겠습니다.

1. 절차지향 프로그래밍(POP)이란?

: 기능을 작은 함수로 나누고, 각가의 함수가 데이터를 매개변수로 전달받아 작업을 수행. 코드의 재사용성과 모듈화에 유리하지만, 프로그램이 커지면 복잡해질 위험성 존재

1) 장점

  • 컴퓨터의 처리구조와 유사해 실행속도가 빠름

2) 단점

  • 유지 보수가 어려움
  • 실행 순서가 정해져있어서 코드의 순서가 바뀌면 동일한 결과를 보장하기 어려움
  • 디버깅이 어려움

2. 객체지향 프로그래밍이란(OOP)?

: 데이터를 속성과 메서드로 묶어 객체 단위로 프로그램을 구성하고, 객체 간의 메시지를 통해 작업을 수행하며 추상화 캡슐화 상속 다형성 등의 특징을 갖게 됨

1) 장점

  • 코드의 재활용성이 높음
  • 코딩이 절차지향보다 간편
  • 디버깅이 쉬움

2) 단점

  • 처리 속도가 절차지향보다 느림
  • 설계에 많은 시간 소요가 필요

3) 특성

(1) 캡슐화
: 객체를 캡슐로 싸서 그 내부를 보호하고 볼 수 없게 하는 것
(2) 상속
: 상위 개체의 속성을 하위 개체에 물려줘 하위 개체가 상위 개체의 속성을 모두 가지는 관계

** 슈퍼클래스에 만들어진 필드와 메소드를 물려받음으로써 코드의 중복 작성을 방지하고, 코드를 재사용함으로써 코드 작성에 드는 시간과 비용을 줄여줌

(3) 다형성
: 같은 이름의 메소드가 클래스 혹은 객체 따라 다르게 구현되는 것

profile
Backend 개발자로 거듭나는 그 날까지 !

0개의 댓글