➊ 패키지를 뜻하는 package와 그 뒤에 패키지 이름(com.example.helloworld)이 있습니다. 이 부분은 패키지 이름을 정하면 자동으로 생성됩니다.
➋ 파일 이름의 MainActivity 같은 것을 일반적으로 클래스라고 합니다. 이를 표시하기 위해 코드에 파일 이름 앞에 클래스를 뜻하는 class가 있습니다. 클래스는 자바 같은 객체 지향 프로그래밍 언어에서 프로그램을 작성하는 최소 단위의 템플릿(특정 구조가 반복되는 문서)입니다. 어떤 동작을 만들기 위한 최소 단위의 명령어 집합이라고 생각하면 됩니다. 안드로이드에서 클래스는 기본적으로 동작과 관련된 내용을 담고 있는 Activity라는 클래스에서 모든 기능을 내려받습니다. 이를 상속이라 하고 코드로 extends라고 표현합니다. 그런데 안드로이드가 빠르게 발전하면서 여러 버전이 나왔습니다. 그러다 보니 앱에서 다양한 안드로이드 버전을 지원해야 하는 상황이 생겼습니다. 그래서 앱을 여러 안드로이드 버전에서 사용할 수 있게 표준적인 기능을 제공하는 지원 라이브러리가 나오게 되었습니다. AppCompatActivity는 안드로이드 프로젝트를 새로 생성하면 자동으로 만들어지는 안드로이드의 지원 라이브러리(support library)입니다. 지원 라이브러리에 관한 자세한 내용은 구글 개발자 사이트(https://developer.android.com/topic/libraries/support-library)에서 살펴볼 수 있습니다.
➌ 액티비티의 수명 주기에서 배웠듯이 앱 화면(뷰)를 구성하는 클래스에서 시작 지점은 항상 onCreate() 함수입니다. 이것을 기억해 두면 복잡한 코드에서 시작점을 찾을 때 유용합니다.
➍ setContentView(R.layout.activity_main)는 이 클래스가 activity_main.xml이라는 레이아웃을 사용하고 있음을 의미합니다. 앱 화면 하나를 구성하는 클래스가 있을 때 이 화면을 그리는 하나의 UI와 연결되는데, 이런 UI 레이아웃은 XML로 작성되어 있습니다. 안드로이드에서는 환경 설정 파일이나 UI 레이아웃을 구성할 때 XML을 주로 사용합니다. 안드로이드에서 XML 파일은 전체적인 화면 디자인을 구성하는 레이아웃입니다. setContentView는 ‘레이아웃과 관련된 내용이 어디에 존재한다는 것을 선언할 때 사용한다’는 정도만 알면 됩니다.