돌아오신 것을 환영합니다
이번 영상에서는 MainActivity.kt에 대한 전체적인 설명과
그 안에서 어떤 것들이 다뤄지고 그 안에 있는 코드들의 역할에 대해 어려운 난이도에서 설명을 드릴 것입니다
그런 것을 아직까지는 살펴보지 않았지만
앞으로 며칠 간 다루게 될 예정입니다
시스템과 저를 믿고 차근차근 따라오시기 바랍니다
저는 이미 수천 명의 학생들과 수업을 한 경험이 있으니 안심하셔도 좋고 여러분과 함께 하게 되어
기대가 됩니다
수 년에 걸쳐 설명하는 기술을 연마하고 습득하였습니다
Android 교육 및 과정으로 시작하였으며 Android 교육 과정을 11년 전에 처음
만들기도 했습니다
그렇습니다
시간에 걸쳐 더 발전하고 있다고 말씀드리려는 것입니다
그러면 이제 본격적으로 이 코드를 살펴보겠습니다
이 분할 화면은 치우고 코드에만 집중하겠습니다
그리고 보이는 것은 package eu.tutorials.myfirstapp입니다
이는 우리가 처음 애플리케이션을 생성할 때 애플리케이션 패키지 이름으로 지었던 것입니다
앱 이름을 myFirstApp으로 했지만 패키지 이름은 eu.tutorials.myfirstapp으로
선택했었습니다
여러분은 다르게 지었을 수도 있지만 저는 그렇게 했습니다
기본 값은 com.예시.앱이름 형식입니다
그러므로 제 경우에는 eu.tutorials.myfirstapp이 된 것입니다
기본적으로 이 패키지 내 모든 파일은
패키지 내 다른 파일에게 사용될 수 있습니다
좋습니다
그 다음엔 import (가져오기)라는 것이 있습니다
그리고 왼쪽 부분을 보시면 1 2 3 이런 식으로 쓰여 있는데
갑자기 14로 건너뛰는 것이 보입니다
어째서 이런 일이 생긴 것일까요?
여기 import ... 이 있습니다
이 ... 의 의미는 숨겨진 코드가 있다는 뜻입니다
지금 단계의 개발자에게 연관이 없는 코드이기 때문이지만
이 프로그램이 잘 동작하기 위해 꼭 필요하고 중요한 것입니다
이 화살표를 클릭하면 코드 뭉치가 열립니다
import android.os.Bundle도 있고
import androidx.activity.ComponentActivity 등이 있습니다
많은 코드들이 숨겨져 있었습니다
이러한 것들이 다루고 있는 것입니다
이 코드는 단순하게 말해서 Android에게 '애플리케이션 실행을 위해 필요한 모든 코드와 기능적인 부분들을 알려줘'
라고 말하는 것입니다
이 코드가 없이는 이 밑에 있는 어떤 코드도 동작하지 않을 것입니다
왜냐하면 이 ComponentActivity가 어떻게 동작해야 할지는 이 ComponentActivity 파일 안에 정의되어 있기 때문입니다
그러니까 이는 우리가 사용하는 라이브러리들인데 라이브러리가 무엇이냐면
책으로 가득찬 라이브러리(도서관)으로 생각하시면 됩니다
그리고 여기에 많은 라이브러리들이 사용되고 있습니다
하나의 라이브러리도 아니고 여러 라이브러리들을 사용하고 있으며
그 안에 엄청난 양의 코드가 적힌 책들이 잔뜩 있는 것입니다
그리고 그 코드를 애플리케이션 내내 사용할 수 있도록 하는 것입니다
그래야 코드가 스스로 어떻게 작동되어야 할지 알 수 있습니다
이것이 없이는 애플리케이션이 어떻게 실행되어야 하는지조차 모를 것입니다
좋습니다
그리고 여기 묶음들이 있습니다
activity와 compose 등이 있습니다
이 compose들은 Jetpack Compose를 통해 추가된 것이며
Android 11부터 사용되었으니 몇 년 전쯤부터입니다
그리고 그건 Google이 Android 애플리케이션 만드는 방법을 바꾸고 싶다고 한 것이나 마찬가지입니다
그리고 현재는 Jetpack Compose든 Android Compose든 항상 이름을
바꾸지만
아무튼 compose가 Android 애플리케이션 내 유저 인터페이스(UI)를 만드는 주된 방법입니다
그전에는 XML이었으며 제 개인적인 의견으로는 유저 인터페이스를 구축하기 위해 훨씬 더 쉽게 소비될 수 있는
방식이었다고 생각합니다
하지만 구조적인 견해에서는 compose를 사용하는 것이 낫습니다
그래서 Google이 이를 선택하여 확장한 것입니다
어떤 사람들은 달가워하지 않거나 XML을 선호하기도 합니다
레거시 애플리케이션을 구축할 때는 여전히 XML이 필요할 것입니다
쉽게 말해서 여러분의 고용주가 오래되어 XML로 이루어진
애플리케이션을 사용한다면 말입니다
그러면 XML이 필요할 것입니다 하지만 현재 새로운 앱을 처음 개발하는 것이라면 필요 없습니다
좋습니다
XML도 다룰 예정입니다
조금 더 나중 수업에서 다루게 될 것이지만 그래도 전반적으로 이해해 두시는 게
좋습니다
자 그러면
여기 보이는 것들이 import들이었습니다
그리고 끝 부분에 이 eu.tutorials.
myfirstapp.ui.theme.
MyFirstAppTheme.이 보입니다
이건 어디로부터 오는 것일까요?
여러분의 프로젝트에 가서 애플리케이션 안을 보면
이 ui.theme이라는 것이 보입니다
ui.theme 폴더 말입니다
그리고 MyFirstAppTheme인 이유는 앱 이름이 MyFirstApp이기 때문입니다
그리고 여기 이 theme(테마)에 접근하는 것입니다
앱의 테마입니다
근본적으로 애플리케이션의 외관인데 예를 들어 사용되는 색상이나
폰트 같은 것들을 다룹니다
기본 값으로 여기에 정의되어 있습니다
좋습니다
여기까지가 import들이었습니다
그리고 이 정도면 이번 영상으로 충분한 것 같습니다
그래서 잠깐 쉬는 시간을 가져 보려고 합니다
그리고 다음 시간에 MainActivity와 ComponentActivity가 무엇인지에 대해
알아보겠습니다
한 번에 다루기엔 너무 길어질 것 같기 때문입니다
그러므로 여기서 쉬어 가겠습니다
이 영상에서 여러분이 이해하셔야 할 것은 우리는 그저 수많은 코드들이 적힌 라이브러리를 사용하여
우리가 일일히 그것들을 입력할 필요가 없고 쉽게 코드를 작성할 수 있도록 도와준다는 것입니다
Google이 우리 대신 작업을 해준 것이며 그 개발자들
덕분입니다
그렇지 않았으면 이런 멋진 앱들을 만들기 위해 더 많은 수고와 노력이 요구되었을 것입니다
그럼 다음 영상에서 뵙겠습니다