💜 Key Point

객체지향, 절차지향, 함수형 프로그래밍

💜 Today I Learned

[기술 면접]

  • 객체지향 프로그래밍이란 무엇인가
    현실 세계의 사물을 모델링하여 소프트웨어를 개발하는 방법
    객체지향은 생산성과 유지보수 용이성을 높이는 데 포커를 두었으며 객체지향 언어를 구사하는 개발자는 개발을 비교적 쉽고 빠르게 수행할 수 있다.
    • 객체지향과 절차지향의 차이
    1. 절차지향은 데이터와 함수가 분리되고 통일성이 없지만, 객체지향은 좀 더 모듈화되어 체계적이다.
    2. 절차지향은 과도한 전역변수 사용, 스파게티 소스, 변경과 확장, 프로그램에 대한 이해가 어렵지만 객체지향은 코드의 재사용성이 높다.
    3. 절차지향은 프로그램의 순서와 흐름을 먼저 세우고 필요한 자료구조와 함수를 설계하는 방식이고, 객체지향은 자료구조와 이를 중심으로 한 모듈들을 먼저 설계한 다음에 이들의 실행 순서와 흐름을 짜는 방식이다.
  • 함수형 프로그래밍이란 무엇인가
    순수 함수를 조합하고 소프트웨어를 만드는 방식
    작은 문제를 해결하기 위한 함수를 작성하여 가독성을 높이고 유지보수를 용이하게 해줌
    부수 효과가 없는 순수 함수를 1급 객체로 간주하여 파라미터나 반환값으로 사용할 수 있으며, 참조 투명성을 지킬 수 있다.

0개의 댓글