https://medium.com/@douglasbellonrocha/functional-object-oriented-programming-with-message-passing-71979ca9d097

 

함수형 프로그래밍과 객체지향 프로그래밍의 차이

 

객체지향 프로그래밍과 함수형의 차이는 데이터(상태)를 다루는 개념과, ‘간결한 코드 작성에 대한 관점차이가 있다.

객체지향이 함수의 동작부를 캡슐화해서 코드를 이해할 수 있게 한다면, 

함수형 프로그래밍은 동작부를 최소화해서 코드 이해를 돕는다.

 

객체지향 프로그래밍의 경우, 클래스 디자인과 객체들의 관계를 중심으로 코드 작성이 이루어진다. 따러서 상태, 멤버변수, 메서드 등이 긴밀한 관계를 가지고 있다. 특히 멤버변수가 어떤 상태를 가지고있는가에 따라 결과가 달라진다.

 

함수형 프로그래밍의 경우, 값의 연산 및 결과 도출 중심으로 코드작성이 이루어진다. 함수 내부에서 인자로 받은 값을 별도로 저장하거나 하지 않고, 간결한 과정으로 처리하고 매핑하는데에 주 목적을 둔다. 

 

함수형 언어에서는 함수(Function) 자체가 일급 객체가 되겠지만,

객체지향 언어에서는 클래스(또는 객체, Object)가 일급 객체가 됩니다.

 

일급객체는

99geo.tistory.com/61

 

함수형 프로그래밍이란 ? functional programming?

함수형 프로그래밍 프로그래밍의 여러 종류 중 하나이며, 함수(function)을 이용해 프로그래밍을 하는 것 입니다. => 함수로만 이수어진 프로그램이라고 생각하면 편할 것 같습니다. 함수형 프로그

99geo.tistory.com

 

다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 가리킨다. 보통 함수에 매개변수로 넘기기, 수정하기, 변수에 대입하기와 같은 연산을 지원할 때 일급 객체라고 합니다!

 

참고로 자바스크립트와 파이썬의 함수는 일급함수이다. 

 

함수형 프로그래밍은 함수가 일급 객체가 됩니다 

const test = function() { 
  console.log("일급함수입니다.")
}

test(); // call

 객체지향 프로그래밍 (OOP)는 대표적으로 java가 있는데 함수를 일급객체로 취급하지 않습니다.

 

제 생각에는 이부분이 제일 큰 것 같습니다. 함수를 일급객체로 취급하느냐 않하느냐가 제일 이해하기 쉽지 않나 생각합니다!

 

오류나 이슈부분이 있으면 댓글이나 쪽지로 피드벡 주시면 감사하겠습니다.

 

 

출처 : suminpixel.tistory.com/m/20

+ Recent posts