요르딩딩

[기술면접] 프로그래밍 공통(1) 본문

[기술면접]

[기술면접] 프로그래밍 공통(1)

요르딩딩 2021. 5. 6. 17:04
728x90
반응형

이제부터 기술면접에서 질문으로 나올만한 내용들을 정리해 볼까 합니다. 기존에 블로그에 잘 정리해놓으신 분의 것을 참고하여 정리해보았습니다.

출처: https://mangkyu.tistory.com/88 [MangKyu's Diary]

 

[OOP란]

: (Object-Oiented Programming) 현실세계를 프로그래밍으로 옮겨와 현실세계의 사물들을 객체로 보고, 그 객체로부터 개발하고자 하는 특징과 기능을 뽑아와 프로그래밍하는 기법입니다. OOP코드로 작성하면 재사용성과 변형가능성 높힐 수 있습니다.

 

[OOP의 5가지 설계원칙]

  1. SRP(Single Responsibility Principle, 단일책임원칙) : 클래스는 단 하나의 목적을 가지며,  변경하는 이유도 단 하나의 이유여야한다.
  2. OCP(Open-Closed Principle, 개방 폐쇠 원칙) : 클래스는 확장에 열려있고, 변경에는 닫혀있어야한다.
  3. LSP(Liskov Substitution Principle, 리스코프 치환 원칙): 상위타입 객체를 하위 타입으로 바꾸어도 프로그램은 일관되게 동작해야 한다.
  4. ISP(Interface Segregation Principle, 인터페이스 분리 원칙): 클라이언트는 사용하지 않는 메소드에 의존하지 않도록 인터페이스를 분리해야 한다.
  5. 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