패러다임 질문리스트

기술노트

1. Functional Programming 과 OOP의 차이에 대해서 서술해주세요.

=> 가장 큰 차이로는 함수의 취급입니다.FP에서는 함수를 일급 객체 취급하지만, OOP는 함수가 아닌 객체자체를 일급객체 취급합니다. 또한 OOP는 동작부를 캡슐화하여 코드의 이해를 돕는다면, 함수형 프로그래밍은 동작부를 최소화하여 코드의 이해를 돕습니다.

2. LSP를 만족하지 않으면, OCP가 깨지는 사례를 말해주세요

=> 클라이언트 코드 입장에서는 상위타입을 이용할텐데, LSP를 위반하는 구현 상속이 있다면, 신뢰가 깨져서 객체가 추가될 때마다 instanceOf를 호출해줘야하기때문에, OCP가 깨지게됩니다.

3. OOP의 특징 중 다형성을 구현하기 위한 방법이 무엇이 있는지 서술하세요.

=> 객체지향에서 다형성을 구현하기 위해 상속을 통해 구현되며, 대표적으로 오버로딩과 오버라이딩이 존재하고 다형성을 사용할시 코드가 간결해지며 유지보수에 용이해집니다.