면접예상질문 - OOP, REST API

이지섭·2023년 5월 30일
0

객체지향 프로그래밍(OOP)에 대해 알고있는 원칙이나 키워드를 언급하여 설명해주세요.

객체지향 프로그래밍은
필요한 데이터의 대표적인 상태와 행위를 추상화시킨 객체로 생성하고
객체들간의 상호작용을 통해서 로직을 구성하는 프로그래밍 방법입니다.

여기서 객체는,
값을 저장하는 변수와 작업을 수행할 동작인 메소드를
묶어서 만든 것이라고 할 수 있고.

이런 방식으로 상호작용하는 객체들로 로직을 구성하면
서로 상호작용이 가능한 모듈 형태로 역할을 나누어 개발이 가능하기 때문에
대규모 개발시에 업무분담이 편리하고,
코드 재사용과 상속이 가능하기 때문에
유지보수가 상대적으로 편리하다는 장점이 있습니다

하지만 그만큼 처리속도가 상대적으로 느려지고,
객체들간의 관계 설계 시 신중해야한다는 단점이 있습니다.

객체지향 설계시 지켜야 할 원칙으로는 5가지의 SOLID 원칙으로.
단일책임, 개방폐쇄, 리스코프치환, 인터페이스분리, 의존관계 역전 등이 있습니다

REST API란 무엇인가요?

REST API는
HTTP URI를 통해 어떤 자원인지 명시하고,
HTTP Method(GET, POST, PUT, PATCH, DELETE)를 통해 해당 자원을 처리하도록 설계된
일종의 개발자들간의 약속을 지킨 웹 API 입니다.
자원(uri), 행위(http method), 표현을 구조적으로 깔끔하게 표현하는 방법이라고 할 수 있습니다.

프로젝트에 REST API를 사용한 이유가 무엇인가요?

프로젝트를 진행하다보니 API uri가 필요 이상으로 복잡해져, 보다 체계적이고 명확한 uri 컨벤션을 정해놓고 지키기 위해 방법을 알아보다 REST API를 알게 되었고,
이후 기능 개발 시 메소드만 url만 보아도 기능 파악이 가능하도록 REST API를 도입하게 되었습니다.

REST API 말고 다른 비교할만한 것을 알고 있나요?

xml 형태로 데이터를 주고받는 SOAP API (simple object access protocol)가 있습니다.

보통 웹서비스에서 개발자들은 SOAP의 이점이 확실하게 필요한 것이 아니라면 REST방식을 선택하는 경우가 많고,
기업용 애플리케이션의 경우 많은 리소스와 보안, 여러 요구사항을 만족하기위해 SOAP방식을 선택하는 경우가 많다고 알고있습니다.

예상 꼬리질문 키워드

  • 객체, 추상화, 캡슐화, 상속, 다형성
  • SOLID 5대 원칙
  • REST의 특징 6가지
  • REST API 원칙

메모

SOAP, REST, GraphQL, gRPC 비교

profile
Stop thinking. Just do it.

0개의 댓글

관련 채용 정보