[2024.01.24] OOP

체리마루·2024년 1월 24일

절차 지향 프로그래밍 (Procedural Programming)

: 프로그램을 '데이터'와 '절차'로 구성하는 방식의 프로그래밍 패러다임

절차 지향 프로그래밍 특징

  • "데이터"와 해당 데이터를 처리하는 "함수(절차)"가 분리되어 있으며, 함수 호출의 흐름이 중요
  • 코드의 순차적인 흐름과 함수 호출에 의해 프로그램이 진행
  • 실제로 실행되는 내용이 무엇이 무엇인가가 중요
  • 데이터를 다시 재사용하거나 하기보다는 처음부터 끝까지 실행되는 결과물이 중요한 방식

소프트웨어 위기 (Software Crisis)

  • 하드웨어의 발전으로 컴퓨터 계산용량과 문제의 복잡성이 급격히 증가함에 따라 소프트웨어에 발생한 충격

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

: 데이터와 해당 데이터를 조작하는 메서드를 하나의 객체로 묶어 관리하는 방식의 프로그래밍 패러다임

절차 지향 vs 객체 지향

절차 지향

  • 데이터와 해당 데이터를 처리하는 함수(절차)가 분리
  • 함수 호출의 흐름이 중요

객체 지향

  • 데이터와 해당 데이터를 처리하는 메서드(메시지)를 하나의 객체(클래스)로 묶음
  • 객체 간 상호작용과 메시지 전달이 중요

클래스 (class)

: 파이썬에서 타입을 표현하는 방법
-> 객체를 생성하기 위한 설계도
-> 데이터와 기능을 함게 묶는 방법을 제공

객체 (object)

: 클래스에서 정의한 것을 토대로 메모리에 할당된 것
'속성'과 '행동'으로 구성된 모든 것

profile
멋쟁이 토마토 개발자 🍅

0개의 댓글