본문 바로가기

기술면접

프로그래밍 패러다임의 종류

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

절차지향 프로그래밍은 프로그램을 수행할 때 처리해야 할 작업들을 순차적인 절차(Pseudo-code)나

함수 단위로 나누어 구현하는 프로그래밍 방법입니다.

데이터와 함수를 분리하여 처리하므로 모듈화(Modallization)가 수월하고,

구조화된 프로그램을 만들기 쉬우며 프로그램의 유지보수가 용이합니다.

절차지향 프로그래밍의 대표적인 언어는 C 언어가 있습니다.

 

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

객체지향 프로그래밍은 객체(Object)를 중심으로 한 프로그래밍 방법입니다.

객체는 데이터와 데이터를 처리하는 함수를 하나로 묶은 것을 말합니다.

데이터와 함수를 한 곳에서 관리하기 때문에 모듈화가 쉽고

객체지향 프로그래밍의 특징인 상속(Inheritance), 다형성(Polymorphism), 캡슐화(Encapsulation)로

객체간의 관계를 자유롭게 구성하여 프로그램을 작성할 수 있습니다.

객체지향 프로그래밍의 대표적인 언어는 Java와 Python이 있습니다.

 

3. 함수형 프로그래밍(Functional Programming)

함수형 프로그래밍은 함수를 사용하는 프로그래밍 방법입니다.

상태 변경을 피하고 부작용을 최소화하여 프로그램의 안정성과 신뢰성을 높이며,

병렬 처리도 용이하게 합니다.

함수는 입력값과 출력값만으로 동작하기 때문에 다른 함수와 결합하여 새로운 함수를 만들 수 있습니다.

함수가 객체로 취급되기 때문에 함수를 값으로 취급할 수도 있습니다.

그렇기 때문에 간결하고 유연한 프로그래밍이 가능해집니다.

함수형 프로그래밍의 대표적인 언어는 Haskell, Lisp, Clojure가 있습니다.

 

'기술면접' 카테고리의 다른 글

오버로딩과 오버라이딩  (0) 2023.04.05
시간복잡도와 공간복잡도  (0) 2023.04.05
Stack과 Queue, Array와 Linked List  (0) 2023.04.04
Java의 특징  (0) 2023.04.04
POJO란?  (0) 2023.04.03