Array와 List의 차이

Array의 경우 고전적인 의미의 배열이며, 고정된 사이즈의 연속된 메모리 공간에 할당된다. 

따라서 인덱스를 통해 값을 변경하는 것이 가능하며(mutable), 사이즈를 변경하는 것이 불가능 하다.

 

List의 경우 크게 List와 MutableList가 있는데, ArrayList또는 LinkedList의 구현체다. 

Default로는 ArrayList의 구현체를 따른다. 

이름에서도 볼 수 있듯이 List는 Immutable이며 MutableList는 Mutable이다.

 

성능이 중요시 되는 부분을 제외하고는 List를 쓰는것이 바람직 하다.

참고 : https://stackoverflow.com/a/36263748

 

Context 란?

Context는 Application의 글로벌 Infomation에 대한 인터페이스다.

Context를 이용해서 액티비티를 실행시키거나 인텐트를 broadcasting또는 receiving과 같은 어플리케이션 레벨의 명령을 수행 할 수 있다.

즉 액티비티나 서비스, 여러 컴포넌트들을 시스템과 연결시키는 역할을 한다.

참고 : https://stackoverflow.com/a/16301475

 

AAC 란?

AAC는 Android Architecture Components를 뜻하며 테스트와 유지관리가 쉬운 앱을 디자인하도록  돕는 라이브러리 모음이다.

참고 : https://developer.android.com/topic/libraries/architecture?hl=ko

 

Intent 란?

Intent는 다른 앱 구성요소로 부터 작업을 요청하는 메세지 객체이다.

두가지 종류가 있으며, 명시적 인텐트는 수신하는 컴포넌트가 명시적으로 지정된 인텐트이며, 암시적 인텐트는 해당 작업을 수행 할 수 있는 컴포넌트를 찾아서 수행을 요청하는 인텐트이다.

주로 액티비티, 서비스를 시작하거나 브로드 캐스트를 전달할 때 사용된다.

참고:
https://developer.android.com/guide/components/intents-filters#Types
https://stackoverflow.com/a/6578074

 

 

Parcelable 이란?

Parcelable은 JAVA의 Serializable의 안드로이드 구현체다. 

서로 다른 컴포넌트 사이의 데이터 교환에 사용된다.

안드로이드는 Intent를 통해서 데이터를 전달할 때 Parcelable을 이용해서 전달하는 것을 권장하고 있다.

만약 다른 앱이 수신할 수 있는 Intent의 경우 Parcelable을 이용하면 안된다.

그 이유는 다른 앱에서 Parcelable로 구현된 클래스에 접근하지 못하면 런타임 에러가 발생하기 때문이다.

참고 :
https://stackoverflow.com/a/31896222
https://medium.com/@hossamrakha0/what-is-parcelable-and-why-we-need-it-574d9e376741

 

4가지의 앱 구성 요소

앱의 필수적인 구성 요소로 시스템 또는 사용자가 앱에 들어올 수 있는 진입점이다.

  • 액티비티
  • 서비스
  • 브로드캐스트 리시버
  • 컨텐츠 프로바이더

 

https://medium.com/androiddevelopers/viewmodels-and-livedata-patterns-antipatterns-21efaef74a54

 

복사했습니다!