객체지향 프로그래밍(OOP)에 대해 설명해주세요. (알고있는 원칙이나 키워드를 언급)
객체지향 프로그래밍(Object-Oriented Programming, OOP)은 프로그래밍에서 필요한 데이터를 추상화 시켜 상태와 행위를 가진 객체로 만들고, 객체들간의 상호작용을 통해 로직을 구성하는 프로그래밍 방법.
객체?
객체는 프로그램에서 사용되는 데이터 or 식별자에 의해 참조되는 공간을 의미.
값을 저장할 변수와 작업을 수행할 메소드를 서로 연관된 것들끼리 묶어서 만든 것.
객체지향 프로그래밍의 특징
-> 추상화, 캡슐화, 상속, 다형성
속성과 기능을 정의하는 변수와 메소드를 클래스라는 캡슐에 넣어서 분류하는 것으로 재활용이 원활하다는 장점이 있고, 캡슐화를 통해 정보은닉을 활용할 수 있다.(접근제어자 활용)
상속의 장점
상속의 단점
객체지향 프로그래밍은 하나의 클래스 내부에 같은 이름의 행위를 여러개 정의하거나 상위 클래스의 행위를 하위 클래스에서 재정의하여 사용할 수 있기 때문에 다형성이라는 특징을 갖게된다.
REST API란 무엇인가요?
**REST는 HTTP 프로토콜을 통해 API를 설계하기 위한 아키텍처 스타일입니다. 주요 이점은 뛰어난 유연성입니다.
개발자는 서버에서 직접 웹 애플리케이션이나 사이트의 사용자에게 데이터를 제공해야 하는 모든 곳에서 REST API를 사용합니다.
**
“Representational State Transfer”의 약자, 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미한다.
REST API란 핵심 컨텐츠 및 기능을 외부 사이트에서 활용할 수 있도록 제공되는 인터페이스입니다.
REST API는 URI 및 HTTP 프로토콜을 기반으로 하며 슈퍼 브라우저와 호환되는 데이터 형식에 JSON 사용
프로젝트에 REST API를 사용한 이유가 무엇인가요?
리소스 제한, 봏안 요구 사항 감소,
여러 시스템들도 REST 기반으로 시스템을 분산해 확장성과 재사용성을 높여 유지보수 및 운용을 편리하게 할 수 있습니다.
REST는 HTTP 표준을 기반으로 구현하므로, HTTP를 지원하는 프로그램 언어로 클라이언트, 서버를 구현할 수 있다.
즉, REST API를 제작하면 델파이 클라이언트 뿐 아니라, 자바, C#, 웹 등을 이용해 클라이언트를 제작할 수 있스빈다.
REST API 말고 다른 비교할만한 것을 알고 있나요?
SOAP는
우리가 흔히 하는 HTTP, HTTPS, SMTP 등을 통해 XML 기반의 메시지를 컴퓨터 네트워크 상에서 교환하는 프로토콜입니다.
REST보다 더 많은 표준을 정의해 조금 더 복잡합니다.
SOAP API를 사용하여 애플리케이션을 개발하려는 이유에는 더 높은 수준의 보안과 안정적인 통신이 필요한 메시징 앱, 레거시 시스템과의 통신 또는 ACID 준수를 위함입니다.