프로그래밍 방법론

Lee·2023년 4월 4일
0

면접 스터디

목록 보기
13/18

절차지향 프로그래밍

정의

  • 프로시저를 이용하여 작성하는 프로그래밍 방식으로 프로시저 콜의 개념을 바탕으로 한 프로그래밍 패러다임
  • 어떤 기능을 어떤 순서로 처리할 것인가의 관점을 가지는 기능 중심의 패러다임이다

특징

  • 하나의 큰 기능을 작은 단위의 기능들로 나누어 처리하는 top-down 방식으로 설계
  • 데이터와 함수를 별개로 취급
  • 모든 함수는 데이터 공유 가능
  • 순서가 바뀌면 결과를 얻기 어려움
  • 프로그램이 커지면 유지보수가 어려움

객체지향 프로그래밍

정의

  • 프로그램 구현에 필요한 객체들의 역할을 정의하고 객체간 상호작용을 통해 프로그램을 작성하는 패러다임
  • 객체가 중심이 되며 어떤 객체가 어떤 역할을 하는지의 관점으로 바라보는 방식

특징

  • 코드 재사용성 및 확장성 증가
  • 객체의 상호작용을 통해 모델링이 더 쉽다.
  • 캡슐화를 통해 은닉 및 보안성 증가
  • 절차지향 프로그래밍보다 속도가 느리다
  • 객체의 구성으로 절차지향 프로그래밍보다 메모리 비용이 크다.

함수형 프로그래밍

정의

순수 함수를 조합해 프로그램을 만드는 방식

특징

  • side effect가 없는 순수 함수를 1급 객체로 간주해 파라미터나 반환값으로 사용할 수 있다.
profile
발전하고 싶은 백엔드 개발자

0개의 댓글

관련 채용 정보