🐱 With All My Animal 🐶
💡 [ 21일차 11/7일 ] 💡
📌 오늘의 기술면접 질문 Q&A
1) Kotlin의 프로퍼티와 변수의 차이
- 프로퍼티는 클래스 내부에 선언된 변수를 의미하고, 변수는 값을 메모리에 저장하고 그 메모리 영역에 이름을 부여한 것이다.
🌻 프로퍼티란?
- 프로퍼티는 변수와 함수의 조합이다.
- 클래스 내부에서 데이터를 저장하고, 접근 방법을 제공한다.
- class 내부에서 선언한 프로퍼티를 외부에서 다시 선언 할 필요가 없다.
- 프로퍼티는 값을 읽는 메서드인 getter와 값을 설정하는 setter를 자동으로 설정하거나 사용자가 직접 정의 할 수 있다.
class User {
var name : String = ""
}
fun main() {
val user = User()
user.name = "포비"
println("사용자 이름 : ${user.name}")
}
사용자 이름 : 포비
2) AndroidManifest에 대해 설명해주세요
🌻 AndroidManifest
-
안드로이드가 앱을 실행하기 위해서는 그 앱에 어떤 컴포넌트가 있어야하는지 알아야하는데, 이러한 컴포넌트가 모두 정의되어있는 곳이 AndroidManifest이다.
-
그 이외에 다른 역할들
- 앱에서 요구할 사용자 권한을 정의한다. ex) android.permissions.INTERNET
- 앱이 실행될 수 있는 최소 API 레벨을 정의한다.
- 앱에서 사용하는 하드웨어/소프트웨어 기능을 정의한다. ex) 카메라, 블루투스
- 앱에 링크되어야 하는 라이브러리를 선언한다. ex) Google Maps 라이브러리
-
Android Application의 중요한 구성 파일 중 하나이며, Application의 여러 측면을 정의하고 설정하는데 사용된다.
-
Android Application에 대한 정보를 제공하며, Application이 실행되는 방식, 4대 컴포넌트 등의 구성요소에 대한 정보를 담고있다.
-
AndroidManifest는 Application의 핵심 구성을 정의하고, Android 운영 체제에게 Application의 특성과 요구사항을 전달하기 때문에 개발 및 배포할 때 관리를 잘해야한다.
🌼 AndroidManifest의 역할
1) 앱 구성 정보 제공하기
- Application의 기본 정보를 제공한다.
ex) Application의 이름, 패키지 이름, 버전코드 & 버전이름, 아이콘 등등
2) 권한 설정
- AndroidManifest 파일은 Application이 사용자의 데이터 및 기기에 접근하기 위해 필요한 권한을 정의해두었다.
- 이를 통해서 사용자에게 어떤 권한이 필요한 지 알리고, 사용자의 동의를 얻을 수 있다.
ex) Application을 처음 실행 할 때 뜨는 권한 허용 다이얼로그
3) Activity 및 화면 관리
- 앱의 화면을 구성하는 Activity 및 각 Activity가 어떻게 상호작용하는지 정의한다.
- Application 시작 시 어떤 Activity가 실행되어야 하는지 설정할 수 있다.
ex) SplashActivity or MainActivity
4) 백그라운드 서비스 및 브로드캐스트 리시버 설정
- Application이 백그라운드에서 실행해야하는 서비스를 정의한다.
- 다른 Application이나 시스템에서 전송하는 브로드캐스트 이벤트를 수신하고 처리 할 브로드캐스트 리시버를 설정한다.
5) 인텐트 필터 정의
- Application 구성 요소에 대한 인텐트 필터를 설정하여 다른 Application이 해당 구성요소로의 요청을 전달 할 수 있도록 한다.
6) 앱 테마 & 스타일 지정
- Application의 테마 및 스타일을 정의하여 앱의 모양과 느낌을 지정할 수있다.
7) 빌드 설정 관리
- AndroidManifest에는 미니멈 SDK버전, 타겟 API버전, 스크린 크기 및 DPI와 같은 빌드 설정과 관련된 정보도 포함된다.
8) 앱의 핵심 구성 및 동작 설정
- Application의 핵심 동작 및 구성을 정의하며, Android 운영체제에 Application의 특성과 요구사항을 알린다.
🌼 프로퍼티와 변수의 차이점
- 프로퍼티는 주로 클래스 내부에서 선언된다. 변수는 주로 함수 내에서 선언되거나 클래스 외부에서 전역변수로 선언된다.
- 프로퍼티는 클래스의 상태를 나타내고, 객체의 속성을 저장하는데 사용되지만, 변수는 함수 내에서 일시적인 데이터를 저장하거나 클래스 외부에서 전역적으로 공유하는데 사용된다.
[ 참고한 블로그 ]
https://thinking-face.tistory.com/entry/Android-Manifest-%ED%8C%8C%EC%9D%BC%EC%9D%B4%EB%9E%80 (AndroidManifest)