반응형

Android/interface 4

[Android] 제네릭(Generic)을 사용하는 함수 예시

제네릭(Generic) 이란?제네릭이란, 클래스나 함수에서 타입을 고정하지 않고, 나중에 타입을 외부에서 주입받아 사용하는 문법입니다.예를 들어, 리스트를 만들 때 List 또는 List 처럼 타입을 지정하죠?이것도 내부적으로는 제네릭을 사용한 대표적인 예입니다. 제네릭이 왜 필요할까?제네릭을 사용하지 않으면, 여러 타입을 처리하면서 코드를 타입마다 반복해서 작성해야 합니다.예를 들어, BoxOfInt, BoxOfString 등 타입마다 클래스 따로 만들겠죠.하지만 제네릭을 사용하면 하나의 클래스와 함수로 모든 타입을 처리할 수 있습니다. class Box(val content: T) { fun getContent(): T { return content }} 여기서 T 는 타입..

Android/interface 2025.04.22

[Android] abstract class와 interface의 기본 개념

abstract class (추상 클래스)추상 클래스는 일반 클래스와 같지만, 인스턴스화할 수 없고 추상 메서드를 선언하여 상속받은 클래스에서 반드시 구현하도록 강제하는 클래스입니다.추상 클래스는 상태(변수) 를 가질 수 있으며, 생성자도 정의할 수 있습니다.일반 메서드(구현된 메서드) 를 가질 수 있어, 공통적인 기능을 추상화한 후 이를 하위 클래스에서 사용할 수 있게 할 수 있습니다. abstract class Animal(val name: String) { abstract fun makeSound() // 추상 메서드 fun eat() { // 일반 메서드 println("$name is eating") }} 이 예시에서 Animal 클래스는 추상 클래스이기 때문에..

Android/interface 2025.04.22

[Android] NotificationChannel 알림 채널 생성 및 관리

Android 에서는 알림을 효과적으로 관리하고 사용자에게 맞춤형 알림을 제공하기 위해 NotificationChannel 을 도입했습니다. 알림 채널은 Android 8.0(API 26) 이상에서 필수적인 개념으로, 앱이 알림을 생성할 때 각 채널에 대한 중요도, 소리, 진동, LED 설정 등을 제어할 수 있게 해줍니다.  이 시스템은 사용자가 알림을 더 세밀하게 제어할 수 있도록 하며, 각 채널별로 알림을 개별적으로 끄거나 켤 수 있는 기능을 제공합니다.  이 글에서는 NotificationChannel 을 생성하고 관리하는 방법에 대해 자세히 설명하겠습니다.  NotificationChannel 의 개념NotificationChannel 은 알림을 그룹화하여 각 그룹별로 설정을 관리할 수 있게 해주..

Android/interface 2024.11.26

[Android] Android 13 이상에서 POST_NOTIFICATIONS 알림 권한 처리

Android 13 (API 33, TIRAMISU) 부터는 알림 권한(POST_NOTIFICATIONS)이 새롭게 추가되었습니다.이 변화는 사용자가 불필요한 알림을 차단하고 더 나은 사용자 경험을 제공하기 위해 도입되었습니다. 이전 Android 버전에서는 알림을 표시하기 위해 특별한 권한 요청 없이도 앱이 알림을 보낼 수 있었지만, Android 13부터는 앱이 알림을 표시하려면 명시적으로 사용자의 허가를 받아야 합니다. 알림 권한 추가의 배경알림 권한이 추가된 이유는 사용자에게 더 나은 제어권을 부여하고, 불필요한 알림을 차단하기 위함입니다. 특히, 많은 앱들이 사용자에게 빈번하게 알림을 보내거나 스팸성 알림을 발생시키는 문제를 해결하려는 목적이 있습니다. Android 13 에서 도입된 POS..

Android/interface 2024.11.24
반응형