OOP와 FP

sang hyeok Lee·2022년 4월 9일
0

OOP

OOP란 Object Oriented Programming의 약자이며 객체 지향 프로그래밍이라고 부른다. 이런 OOP를 이해하기 위해서는 객체를 이해해야 한다.

객체란 어떠한 물체나 개념을 추상적으로 표현한 것이다. 먹는다라는 예시를 보자.
먹는다라는 행위는 사람뿐만 아니라 다른 생명체에게도 적용이 가능하다. 강아지나 고양이 혹은 야생동물등 배를 채우기 위해서 입으로 무언가를 넣는 행위를 하는 모든 대상에게 먹는다라는 표햔을 쓸 수 있다. 이것을 프로그래밍에 적용을 하면 아래처럼 표현을 할 수 있다.

preson.eat()
dog.eat()
cat.eat()

이렇게 eat이라는 함수는 추상적인 객체라고 볼 수 있다.

그래서 정리를 하자면 OOP는 lass와 object에 기반한 프로그래밍 페러다임이고 OOP는 관련된 데이터끼리 묶어 class를 형성하고 그 안에서 object instance를 만듬으로써 프로그램을 디자인 해준다. OOP는 코드의 재사용률을 높이고 코드를 간결하게 함으로써 유지보수가 쉽다는 장점이 있고 데이터를 안전하게 보존시킬 수 있다.

FP

FP는 Functional Programming의 약자이고 Pure function이라는 순수함수를 구현해서 프로그램을 디자인한다. 여러개의 작은 function을 구현하고 불변성을 지키게 한다.
함수형 프로그래밍의 궁극적인 장점은 바로 모듈화와 재사용성이다. 함수형 프로그래밍에서의 함수는 어떤 변수의 값이 인자로 들어와도 항상 기대한 값을 반환한다. 외부의 상황에 따른 변인을 고려하지 않아도 된다는 뜻이다. 이는 곧, 프로그래머의 디버깅 작업 및 유닛 테스트 작업 과정을 훨씬 쉽게 만들어주며, exception에 대해서도 훨씬 자유로울 수 있다는 의미다.

profile
개발자 되기

0개의 댓글