요르딩딩
[기술면접] 프로그래밍 공통(1) 본문
728x90
반응형
이제부터 기술면접에서 질문으로 나올만한 내용들을 정리해 볼까 합니다. 기존에 블로그에 잘 정리해놓으신 분의 것을 참고하여 정리해보았습니다.
출처: https://mangkyu.tistory.com/88 [MangKyu's Diary]
[OOP란]
: (Object-Oiented Programming) 현실세계를 프로그래밍으로 옮겨와 현실세계의 사물들을 객체로 보고, 그 객체로부터 개발하고자 하는 특징과 기능을 뽑아와 프로그래밍하는 기법입니다. OOP코드로 작성하면 재사용성과 변형가능성을 높힐 수 있습니다.
[OOP의 5가지 설계원칙]
- SRP(Single Responsibility Principle, 단일책임원칙) : 클래스는 단 하나의 목적을 가지며, 변경하는 이유도 단 하나의 이유여야한다.
- OCP(Open-Closed Principle, 개방 폐쇠 원칙) : 클래스는 확장에 열려있고, 변경에는 닫혀있어야한다.
- LSP(Liskov Substitution Principle, 리스코프 치환 원칙): 상위타입 객체를 하위 타입으로 바꾸어도 프로그램은 일관되게 동작해야 한다.
- ISP(Interface Segregation Principle, 인터페이스 분리 원칙): 클라이언트는 사용하지 않는 메소드에 의존하지 않도록 인터페이스를 분리해야 한다.
- DIP(Dependency Inversion Principle, 의존 역전 법칙): 클라이언트는 추상화(인터페이스)에 의존해야 하며, 구현된 클래스에 의존해선 안된다.
[ 절차지향 프로그래밍 VS 객체지향 프로그래밍 VS 함수형 프로그래밍]
- 절차지향 프로그래밍
- 순차적인 처리를 중요시하는 프로그래밍 기법이다.
- 컴퓨터의 처리구조와 유사해 실행속도가 빠르다.
- 코드의 순서가 바뀌면 동일한 결과를 보장하기 어렵다.
- 객체지향 프로그래밍
- 객체로 모델링하여 개발을 진행하는 프로그래밍 기법
- 캡슐화, 상속, 다형성 등과 같은 기법을 이용할 수 있다. 다형성은 동일한 키보드의 키가 다른 역할을 하는 것처럼 하나의 메소드나 클래스가 다양한 방법으로 동작하는 것을 의미한다.
- 절치지향 언어보다 실행속도가 느리다.
- 함수형 프로그래밍
- 함수평 프로그래밍의 가장 큰 특징은 immutable data와 first class citizen으로서의 함수입니다.
- 함수형 프로그래밍은 부수효과가 없는 순수 함수를 이용하여 프로그램을 만드는 것이다.
- 부수 효과가 없는 순수 함수란 데이터의 값을 변경시키지 않으며 객체의 필드를 설정하는 등의 작업을 하지 않는 함수를 의미합니다.
[ RESTful API ]
:REST(REpresentational State Transfer)ful API는 HTTP 통신에서 어떤 자원에 대한 CRUD 요청을 Resource와 Method로 표현하여 특정한 형태로 전달하는 방식입니다. RESTful API는 아래와 같은 것들로 구성됩니다.
- Resource(자원, URI)
- Method(요청 방식, GET or POST 등)
- Representation of Resource(자원의 형태, JSON or XML 등)
출처: https://mangkyu.tistory.com/88 [MangKyu's Diary]
728x90
반응형
'[기술면접]' 카테고리의 다른 글
이력 (0) | 2022.01.10 |
---|---|
PoC(Proof of Concepts : 개념 증명) (0) | 2021.11.23 |
[기술면접] 프로그래밍 공통(2) (0) | 2021.06.21 |
Comments