최종 팀프로젝트 TIL(21)

jxxn_a·2023년 11월 6일
1

팀프로젝트

목록 보기
25/33

🐱 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)

0개의 댓글