📚 학습목표
- Platform에 대해서 설명할 수 있다.
- Android에 대해서 설명할 수 있다.
- Api에 대해서 설명할 수 있다.
- 공식 문서의 중요성을 이해한다.
핵심 키워드
- Platform 이란?
- Platform의 정의 : 정해진 규칙 안에서 다양한 사용자 간의 상호작용이 이루어지는 공간
- Platform의 특징 : 다수의 참여자 존재, 참여자 간 상호작용 O, 참여자 간 상호작용 할 수 있는 공간 O, 규칙 O
- Platform의 예시 : play store, app store, youtube, 카카오톡…
- Android 란?
- Android의 정의 : 스마트폰, 태블릿 PC 같은 터치스크린 모바일 장치 용으로 디자인된 운영 체제이자 수정된 리눅스 커널 버전을 비롯한 오픈 소스 소프트웨어에 기반을 둔 모바일 운영 체제
- Android의 특징 : platform의 특징을 다 가지고 있음.
- 다수의 플레이어 = 스마트폰 개발자, 사용자
- 상호작용 = 앱을 사용하는 사용자 간 상호작용
- 환경 = 운영체제
- 규칙 = 개발자 규정
- Api 란?
- 약자와 정의 : Application Programming Interface. 애플리케이션 소프트웨어를 구축하고 통합하기 위한 정의 및 프로토콜 세트를 말함
- 역할 : 개발자가 컴퓨터에게 원하는 작업을 수행시키기 위한 매개체.
- 유형
- private api
- 정의 : 비공개(내부) api
- 특징 : 회사 개발자가 자체 제품과 서비스를 개선하기 위해 내부적으로 발행. 제 3자에게 노출 x
- 예시 : 회사 내부 개발자들끼리만 아는 api
- public api
- 정의 : 개방형 api
- 특징 : 모두에게 공개. 누구나 제한 없이 API를 사용
- 예시 : 구글, 공공데이터 포털
- partner api
- 정의 : 파트너간 사용하는 api
- 특징 :기업이 데이터 공유에 동의하는 특정인들만 사용. 비즈니스 관계에서 사용되는 편이며, 종종 파트너 회사 간에 소프트웨어를 통합하기 위해 사용
- 예시 : 두 회사 간 데이터 공유를 위해 사용하는 api
- private api
- 공식 문서란?
- 공식 문서의 정의 : 모든 Android 기기에서 사용자가 선호하는 환경을 빠르고 쉽게 구축하는 데 도움이 되는 최신 도구 및 리소스.
- 안드로이드 공식문서 (https://developer.android.com/docs?hl=ko)
추가 개념 키워드
- 인터페이스란?
- 인터페이스의 정의 : 서로 다른 사물이나 시스템 간 소통이 가능토록 설계한 상호 작용 방식
- 인터페이스의 유형
- 하드웨어 인터페이스
- 정의 : 서로 다른 물리적인 기기들을 연결해 상호 작용할 수 있도록 하는 장치, 기법. 컴퓨터와 모니터처럼 기계와 기계를 연결하는 것
- 특징 : 컴퓨터 관련 버스, 저장 장치 및 다양한 입출력 기기들 내에 존재하며, 주로 병렬 연결과 직렬 연결로 나뉨
- 예시 : USB기기들(USB 메모리, USB 충전기…)
- 소프트웨어 인터페이스
- 정의: 컴퓨터 하드웨어 동작을 지시하고 제어하는 프로그램들이 상호 작용하는 방식. 운영체제와 응용 프로그램이 상호 작용 할 수 있게 하는 것
- 특징 : 소프트웨어 설계 시 자원에 대한 접근을 잘 정의된 진입점(entry point), 즉 인터페이스를 통해서만 가능하도록 함으로써 시스템 자원에 대한 기능성과 안정성을 제공
- 예시 : 운영체제(OS)와 하드웨어들 사이의 인터페이스, 운영체제와 응용 프로그램이 상호 작용하는 인터페이스, 객체 지향 프로그래밍에서 응용 내의 객체들이 서로 상호 작용할 수 있도록 하는 메소드 등이 소프트웨어 인터페이스에 속함
- 유저 인터페이스
- 정의 : 사람과 컴퓨터간의 상호 작용 방법
- 특징 : 입력과 출력의 두 가지 방법 제공. 입력은 사용자가 시스템을 조작하는 방법을 정의하고, 출력은 사용자가 조작에 따라 시스템이 생성한 결과를 제시하는 수단
- 예시 : 키보드나 마우스, 스마트폰의 터치 스크린 등 컴퓨터의 하드웨어와 사람이 상호 작용하는 방법, 클릭만으로 컴퓨터 프로그램을 실행시키는 바탕 화면의 아이콘 같이 컴퓨터의 소프트웨어와 사람이 상호 작용하는 방법
- 하드웨어 인터페이스
- 운영체제란?
- 운영체제의 정의 : 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고, 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임
- 운영체제의 종류 : 윈도우(Windows), 맥 OS(Mac OS), 리눅스(Linux), 유닉스(Unix) 등
- 운영체제의 기능
- 프로세서, 기억장치, 입출력 장치, 파일 및 정보 등의 자원을 관리
- 자원을 효율적으로 관리하기 위해 자원의 스케줄링 기능 제공
- 사용자와 시스템 간의 편리한 인터페이스를 제공
- 시스템의 각종 하드웨어와 네트워크를 관리 및 제어
- 데이터를 관리하고 데이터 및 자원의 공유 기능 제공
- 시스템의 오류를 검사 및 복구
- 자원 보호 기능 제공
- 입출력 보조 기능 제공
- 안드로이드 권장아키텍쳐
- 각 구성요소(Activity/Fragment, ViewModel, Repository, Model 등)들이 딱 한 단계 아래의 구성요소에만 종속
- ex) Activity/Fragment는 ViewModel에만 종속되어 있으며 Repository 나 Model에는 종속 x
'Kotlin' 카테고리의 다른 글
Kotlin 면접준비(1) (0) | 2023.06.04 |
---|---|
Kotlin- 문법1 (0) | 2023.06.02 |
클린 아키텍처(Clean Architecture) (0) | 2023.06.02 |
코틀린 컨벤션 (0) | 2023.06.01 |
UMC project 1주차(23/01/02~23/01/10) (0) | 2023.01.11 |