Kotlin

UMC 1주차

취업하고싶다! 2022. 12. 30. 18:11

📚 학습목표

  • Platform에 대해서 설명할 수 있다.
  • Android에 대해서 설명할 수 있다.
  • Api에 대해서 설명할 수 있다.
  • 공식 문서의 중요성을 이해한다.

핵심 키워드

  • Platform 이란?
    • Platform의 정의 : 정해진 규칙 안에서 다양한 사용자 간의 상호작용이 이루어지는 공간
    • Platform의 특징 : 다수의 참여자 존재, 참여자 간 상호작용 O, 참여자 간 상호작용 할 수 있는 공간 O, 규칙 O
    • Platform의 예시 : play store, app store, youtube, 카카오톡…

 

  • Android 란?
    • Android의 정의 : 스마트폰, 태블릿 PC 같은 터치스크린 모바일 장치 용으로 디자인된 운영 체제이자 수정된 리눅스 커널 버전을 비롯한 오픈 소스 소프트웨어에 기반을 둔 모바일 운영 체제
    • Android의 특징 : platform의 특징을 다 가지고 있음.
      1. 다수의 플레이어 = 스마트폰 개발자, 사용자
      2. 상호작용 = 앱을 사용하는 사용자 간 상호작용
      3. 환경 = 운영체제
      4. 규칙 = 개발자 규정

 

  • Api 란?
    • 약자와 정의 : Application Programming Interface. 애플리케이션 소프트웨어를 구축하고 통합하기 위한 정의 및 프로토콜 세트를 말함
    • 역할 : 개발자가 컴퓨터에게 원하는 작업을 수행시키기 위한 매개체.
    • 유형
      • private api
        • 정의 : 비공개(내부) api
        • 특징 : 회사 개발자가 자체 제품과 서비스를 개선하기 위해 내부적으로 발행. 제 3자에게 노출 x
        • 예시 : 회사 내부 개발자들끼리만 아는 api
      • public api
        • 정의 : 개방형 api
        • 특징 : 모두에게 공개. 누구나 제한 없이 API를 사용
        • 예시 : 구글, 공공데이터 포털
      • partner api
        • 정의 : 파트너간 사용하는 api
        • 특징 :기업이 데이터 공유에 동의하는 특정인들만 사용. 비즈니스 관계에서 사용되는 편이며, 종종 파트너 회사 간에 소프트웨어를 통합하기 위해 사용
        • 예시 : 두 회사 간 데이터 공유를 위해 사용하는 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