TIL | 객체지향 프로그래밍 VS 함수형 프로그래밍

ryan·2020년 11월 27일
0

CS

목록 보기
1/1

객체지향 프로그래밍은 동작하는 부분을 캡슐화해서 이해할 수 있게 하고, 함수형 프로그래밍은 동작하는 부분을 최소화해서 코드 이해를 돕는다.

객체지향 프로그래밍 (OOP)

  • 캡슐화: 재사용 될만한 상태나 메서드들을 저장해두고, 사용할 때마다 불러올 수 있게한다. 이렇게 작성한 코드들은 은닉성을 띈다.
  • 객체: class로 캡슐화된 코드들을 필요할 때마다 복사해서 하나의 데이터(object)로 사용한다.

함수형 프로그래밍(Functional)

  • 모듈화: 함수형 프로그래밍의 핵심은 다른 외부요인에 영향을 받지 않고 자신이 맡은 바를 실행한다는 것이다. === 순수함수: same input => same output
  • 목적성: 알고리즘을 명시하는 것보다 목표(함수)를 명시하는데 중점을 둔다. (선언형)
  • 객체: 함수도 하나의 객체로서 작용하고, 적재적소에 해당 함수를 적절한 input과 함께 쓰는 것이 중요하다.

객체지향 프로그래밍과 함수형 프로그래밍은 반대되는 개념이 아니라 각각 다른 프로그래 방식이라고 볼 수 있다. 공통점은 반복을 줄이고 효율적인 작업을 위해서 만들어졌다.

profile
👨🏻‍💻☕️ 🎹🎵 🐰🎶 🛫📷

1개의 댓글

comment-user-thumbnail
2020년 11월 28일

오오 꾸준갑 갓라이언~~~

답글 달기