Q1) 동기와 비동기의 차이를 설명 해 주세요.
-
동기
- 의미: 요청과 결과가 동시에 이루어지는 것, 또는 약속
- 장점: 순서대로 처리 된다.
- 단점: 요청 후 응답 시간이 얼마나 걸리더라도 요청한 지점에서 대기해야한다.
-
비동기
- 의미: 요청과 결과가 동시에 이루어지지 않는 것, 또는 약속
- 장점: 요청 후 응답 시간 동안 다른 요청을 처리할 수 있다.
- 단점: 동기 방식 보다 속도가 떨어질 수 있다.
-
예비 답변
동기는 요청과 결과가 동시에 이루어진다는 약속이고 비동기는 동시에 이루어지지 않을 수 있다는 약속 입니다.
동기는 순차적으로 처리 할 수 있다는 장점이 있지만 응답 시간이 얼마나 걸리든 현 위치에서 대기해야 한다는 단점이 있습니다. 비동기는 응답 반환을 기다리지 않고 다른 요청을 처리할 수 있지만 때에 따라 동기 방식보다 속도가 떨어질 수 있다는 단점이 있습니다.
Q2) 프레임워크와 라이브러리의 차이를 설명 해 주세요.
- 프레임워크
- 효율적인 개발을 위해 클래스 묶음이나 뼈대를 라이브러리 형태로 제공 방식
- 라이브러리
- 개발자가 만든 클래스들의 나열로, 다른 프로그램들에서 사용할 수 있도록 제공하는 방식
비유를 하자면 프레임워크는 집, 라이브러리를 집 안의 가구이다.
라이브러리와 프레임워크의 차이는 제어 흐름에 대한 주도성이 누구에게 / 어디에게 있는가에 있다. 즉, 애플리케이션의 Flow(흐름)을 누가 쥐고 있느냐에 달려있다.
프레임워크는 그 스스로 제어 흐름의 주도성을 갖는 반면, 라이브러리는 개발자가 가지고 있다.
- 예비 답변
프레임워크는 효율적인 개발을 위해 클래스 묶음이나 뼈대를 라이브러릴 형태로 제공하는 방식이고 라이브러리는 개발자가 만든 클래들의 나영로, 다른 프로그램에서 사용할 수 있도록 하는 방식입니다.