메이쁘

[CS지식] 2020.11.16. 오늘의 면접 Q&A 본문

면접 대비 CS지식/SELF CS면접 Q&A

[CS지식] 2020.11.16. 오늘의 면접 Q&A

메이쁘 2020. 11. 17. 01:27

안녕하세요.

 

CS관련 질문과 면접에 맞는 답변을 작성하면서 지식도 쌓고 면접도 대비하는 시간을 가지려고 합니다.

 

 

틈틈히 게시글을 작성하며 면접 대비 데이터셋을 확보해둔 다음

 

언젠간 면접하게 될 때 모아서 쓰려고 합니다.

 

(실제로 면접에서 들었던 질문이 아니라, 제가 스스로 답을 정해놓고 짜논 질문이라 이렇게 안나올 수 있습니다!!!)

 

 

 

이번 글은 CS지식 카테고리 입니다.

 

 

 

 

  -- 질문 목록

 

Q1.  라이브러리, 프레임워크가 무엇인가요?

Q2.  API, SDK가 무엇인가요?


Q1.  라이브러리, 프레임워크가 무엇인가요?

 

A.  라이브러리유용한 컴포넌트들의 집합입니다. 컴포넌트에는 클래스, 함수, 변수 등 코드를 가리킵니다. 이러한 라이브러리는 프로그래머가 소프트웨어를 개발하기 유용하게 도와주는 도구 입니다.

 

프레임워크는 뼈대, 틀(Frame) 과 Work 가 결합된 단어로서 일정한 틀과 뼈대를 바탕으로 개발하여 결과물의 생산성과 품질을 높여주는 프로그램입니다. 대표적으로 Spring, Android 가 있는데요. 이러한 프레임워크의 목적과는 다른 종류의 프로그램을 만들 수 없습니다. 즉, Android Framework 를 가지고 iOS App을 만들 수 없는 것과 같습니다.

 

프레임워크 안에 라이브러리가 포함되는 구조입니다.

 

이 둘의 공통점프로그램을 좀 더 쉽게 개발하기 위한 목적을 가지고 있다는 점이며, 차이점은 프레임워크는 꼭 사용해야하는 것과 규칙이 존재하지만, 라이브러리는 개인의 자유에 맞게 사용할 수 있습니다.

 

 

 

Q2.  API, SDK가 무엇인가요?

 

A.  API(Application Programming Interface) 는 개발자가 공개한 함수들을 사용하여 기능에 접근하는 것과 해당 기능을 구현하는데 사용된 코드를 숨길 수 있는 인터페이스 입니다.

 

SDK(Software Development Kit) 는 말 그대로 소프트웨어 개발 도구 모음 입니다. 즉, 개발에 도움이 될 개발 도구 프로그램, 디버깅 프로그램, 가이드 문서, API 등 이 있습니다. 예를 들어, JDK, Android SDK, Tizen, iOS SDK, Facebook SDK 등 수 많은 SDK가 존재합니다.

 

 

 

이상입니다.

 

감사합니다!

Comments