안드로이드(Android) 란?

🔍 안드로이드 = 오픈소스 소프트웨어 스택
Android는 휴대할 수 있는 디바이스 기기를 위한 오픈소스 소프트웨어 스택이다.
- 데이터를 저장할 수 있는 자료구조의 종류 중 하나인 스택에 비유해 Android를
오픈소스 스프트웨어 스택이라고 부른다.
오픈소스 스택이라고 단어가 붙는 이유
스택 (Stack)
- 스택은 아래부터 위로 데이터가 쌓이는 자료구조 인데
Andorid는 소프트웨어가 스택 형태로 쌓여 있다는 의미에서 소프트웨어 스택이라고 말한다.
- 위 그림을 보면 밑에서 부터
리눅스 커널->HAL/HID->Native Libraries+Android Runtime->Android Framwork->Apps 소프트웨어가 차례로 쌓여있는 구조이다.
- 이 구조를 통틀어
소프트웨어 스택이라고 부르며 이 구조가 결국 Android이다.
오픈소스
- 소프트웨어 스택이 비공개가 아니라 공개되어 있다.
- 누구나 Android를 구성하고 각 소프트웨어의 소스코드를 볼 수 있다.
- 구글이 주도하는 오픈소스 프로젝트이기도 하다.
🔍 Android = Android 플랫폼
Android와 Android 플랫폼은 동일한 말이다.
- 위에서 말한 Android 정의 중, 휴대할 수 있는 디바이스 기기를 위한
오픈소스 소프트웨어 스택이라고 설명한 것은 스택이라는 단어를 사용해서 쌓여있는 구조를 강조한 설명이다.
- Android를
스택이란 단어를 사용하지 않고 설명할 땐 오픈소스 소프트웨어 플랫폼이라고도 한다.

🔍 Android 프레임워크 = Java API Framework
- 안드로이드 개발자 문서 - 프레임워크 각 단계별 설명
Android Framework는 Java API Framework라고도 부른다.
Android Framework는 모든 안드로이드 App이 사용하는 toolkit이기 때문에, 모든 App은 같은 Android Framework를 사용해서 만들어진다.
Android Framework는 모두 Java로 구현되어있고, 여러 Manager들로 구성되어 있다.
- 안드로이드 앱 개발자는
Android Framework가 제공하는 API를 사용법에 맞게 코드만 작성하면 된다.
🔍 Android 운영체제 = Android 시스템
Android 운영체제와 Android 시스템은 동일한 말이다.
- 운영체제
Operating System에서 Operating을 빼고 Android System이라고 하는 것이다.
- Android를 휴대할 수 있는 디바이스 기기(모바일 기기)의 운영체제로 채택하여 사용하기 때문에
Android 운영체제라고도 부른다.
- Android를 운영체제라고 하는 건 Android 플랫폼을 모바일 기기의 운영체제로 사용한다는 의미이다.
참고
- https://velog.io/@dabin/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C%EB%9E%80%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%ED%94%8C%EB%9E%AB%ED%8F%BC%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C%EC%8B%9C%EC%8A%A4%ED%85%9C
-