[면접준비] 클래스형과 함수형의 차이를 설명해주세요. 어떤 방식을 주로 사용하였고 그 이유가 뭔지 답변해주세요. (24/04/05)
2024. 4. 5. 09:58ㆍ공부/면접 준비
함수형
전달받은 인자값을 중심으로 결과값을 반환하는 간결한 방식의 프로그래밍으로
데이터를 함수 내부에서 따로 저장하거나 하지 않는다.
한 번에 하나의 작업만 수행하는 함수들의 조합으로 로직을 처리한다.
클래스형
객체지향 프로그래밍.
SOLID원칙
- S (SRP)
- 단일 책임 원칙 (Single responsibility principle)
- 한 클래스는 하나의 책임만 가져야 한다.
- O (OCP)
- 개방-폐쇄 원칙 (Open/closed principle)
- “소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다.”
- L (LSP)
- 리스코프 치환 원칙 (Liskov substitution principle)
- “프로그램의 객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀 수 있어야 한다.” 계약에 의한 설계를 참고하라.
- I (ISP)
- 인터페이스 분리 원칙 (Interface segregation principle)
- “특정 클라이언트를 위한 인터페이스 여러 개가 범용 인터페이스 하나보다 낫다.”
- D (DIP)
- 의존관계 역전 원칙 (Dependency inversion principle)
- 프로그래머는 추상화에 의존해야지, 구체화에 의존하면 안된다.
- 의존성 주입은 이 원칙을 따르는 방법 중 하나다.
어떤 방식을 주로
클래스형 프로그래밍.
SOLID 원칙을 지켜 프로그래밍 하려 노력은 하지만, 사실상 함수형 프로그래밍과 혼용하고 있는것 같습니다.
'공부 > 면접 준비' 카테고리의 다른 글
[면접준비] Array, LinkedList에 대해 설명해주시고 각각 어떻게 사용하는지 말씀해주세요. (24/04/08) (0) | 2024.04.08 |
---|---|
[면접준비] NoSQL과 RDBMS의 특징과 차이점에 대해서 장, 단점을 들어 설명해주세요. (24/04/08) (2) | 2024.04.08 |
[면접준비] 객체지향 프로그래밍이란 무엇이고 어떻게 활용할 수 있나요? (24/04/05) (0) | 2024.04.05 |
[면접준비] OSI 7계층에 대해 아는대로 설명해주세요. (24/04/04) (0) | 2024.04.04 |
[면접준비] http, https 차이점에 대해 설명해주세요 (24/04/04) (0) | 2024.04.04 |