j-jh-Study / technical-interview

스파르타 기술면접 스터디
0 stars 0 forks source link

Q- 절차지향/객체지향/함수형 프로그래밍 #14

Open J-Jaeh opened 1 year ago

J-Jaeh commented 1 year ago

절차지향 / 객체지향 / 함수형 프로그래밍이란 무엇이고 차이점은 무엇인가?

J-Jaeh commented 1 year ago

절차지향 객체지향 함수형


절차지향, 객체지향, 함수형 프로그래밍의 차이점은 다음과 같습니다.

  1. 절차지향 프로그래밍은 문제를 해결하기 위한 일련의 절차에 중점을 두며, 함수형과 객체지향 프로그래밍보다 단순하고 명료한 코드를 작성할 수 있습니다.

  2. 객체지향 프로그래밍은 현실 세계의 개념을 객체로 모델링하여 문제를 해결하므로, 절차지향 프로그래밍보다 유지보수와 확장성이 뛰어나지만, 복잡한 구현이 필요할 수 있습니다.

  3. 함수형 프로그래밍은 입력값과 출력값을 기반으로 하는 함수를 중심으로 프로그래밍을 하므로, 코드의 안정성이 높아지며, 병렬처리가 용이합니다. 하지만, 상태를 변경하지 않으므로 다소 불편한 구현 방식을 필요로 할 수 있습니다.

따라서, 어떤 패러다임을 사용할지는 문제의 복잡도와 요구사항에 따라 달라집니다. 절차지향은 단순하고 명료한 코드를 작성하기에 적합하며, 객체지향은 유지보수와 확장성을 고려할 때 유리하며, 함수형은 안정성과 병렬처리를 고려할 때 유리합니다.

그러나 현재는 절차지향과 객체지향을 결합한 프로그래밍 방식을 주로 사용하며, 함수형 패러다임도 중요한 요소 중 하나로 자리잡고 있습니다. 따라서, 다양한 프로그래밍 패러다임을 이해하고, 문제의 복잡도와 요구사항에 맞게 적절한 패러다임을 선택하는 능력이 중요합니다.

J-Jaeh commented 1 year ago

자바에서 함수형 프로그래밍 병렬처리 할때 .. 여러개 쓰레드로 분할하기.. 옵셔널도 함수형 프로그래밍 -> 쓰로우~ 가독성을 좋게하게 해주기위해 람다..

J-Jaeh commented 1 year ago

자바의 절차지향 쓰레드가 순서대로 처리되어야할때..