[기술면접] 클래스형, 함수형

김주희·2023년 9월 7일
0

내배캠 17주차 TIL

목록 보기
4/6

▶️ 클래스형과 함수형의 차이를 설명해주세요. 어떤 방식을 주로 사용하였고 그 이유가 뭔지 답변해주세요.

클래스형

  • 구조 : 클래스를 사용하여 객체 지향 프로그래밍(OOP) 방식으로 코드를 구성한다. 클래스는 데이터와 해당 데이터를 조작하는 메서드(함수)를 함께 묶는 방법을 제공한다.
  • 상태 관리 : 객체 지향 프로그래밍에서는 객체 내부에 상태를 저장하는 것이 일반적이며, 객체 간에 상태를 공유하는 방식으로 동작한다.
  • 부작용 : 객체의 메서드가 상태를 변경하거나 부작용을 일으키는 경우가 많다. 이로 인해 코드가 복잡해질 수 있고, 디버깅이 어려울 수 있다.
  • 코드 가독성 : 객체와 메서드의 구조는 상대적으로 명확하며, 객체 간의 관계를 직관적으로 표현할 수 있다.
  • 활용 분야 : 대규모 응용 프로그램, GUI 애플리케이션, 게임 등 객체 지향적인 설계가 유용한 경우에 사용된다.

함수형

  • 구조 : 함수를 사용하여 코드를 구성하며, 함수가 데이터를 처리하고 반환하는 방식으로 동작한다. 함수형 프로그래밍은 순수 함수, 고차 함수 및 불변성 데이터 구조와 관련이 있다.
  • 상태 관리 : 함수형 프로그래밍에서는 일반적으로 불변성 데이터 구조를 사용하고, 상태 변경이 없는 함수를 강조한다. 이로 인해 상태 관리가 간단하고 예측 가능하며, 병렬 처리와 함수 조합이 쉽다.
  • 부작용 : 함수형 프로그래밍은 부작용을 최소화하려고 노력하며, 순수 함수를 통해 부작용을 격리시키는 방식을 채택한다. 이는 코드를 더 예측 가능하게 만들어 주고 테스트하기 쉽게 만든다.
  • 코드 가독성 : 함수를 작은 블록으로 조합하여 코드를 작성하므로, 함수형 코드는 간결하고 가독성이 높을 수 있다.
  • 활용 분야 : 데이터 처리, 병렬 처리, 함수 조합, 함수 합성, 함수형 언어에서 주로 사용되며, 특히 병렬 및 분산 시스템에서 장점을 가진다.

주로 사용한 방식은 클래스형

  • 클래스형 프로그래밍은 객체 지향 프로그래밍의 주요 개념을 구현하고 지원한다. 이는 현실 세계의 개념을 모델링하고 코드를 재사용하며 유지 보수하기 쉽게 만든다.
  • 클래스를 사용하면 코드를 모듈화할 수 있으며, 클래스의 인스턴스를 여러 곳에서 재사용할 수 있다. 이로 인해 코드의 중복을 줄이고 프로젝트를 효율적으로 관리할 수 있다.
profile
꾸준히 하자

0개의 댓글