728x90 분류 전체보기970 제네릭 제네릭은 타입을 파라미터로 가지는 클래스와 인터페이스를 정의하는 프로그래밍 기법입니다. 제네릭을 사용하면 다양한 타입의 객체를 사용할 수 있으며, 컴파일 시간에 타입 안정성을 제공하므로 코드의 재사용성과 유연성을 높입니다. 제네릭 클래스 제네릭 클래스는 하나 이상의 타입 파라미터를 가질 수 있습니다. 이 파라미터는 클래스 내에서 변수나 함수의 타입으로 사용됩니다. 예제: class Box(val content: T) val intBox = Box(1) val stringBox = Box("Hello") println(intBox.content) // 출력: 1 println(stringBox.content) // 출력: Hello 이 예제에서 Box 클래스는 T 타입 파라미터를 가집니다. Box(1)로 .. 2023. 6. 2. 컬렉션 코틀린에서 컬렉션은 데이터 그룹을 저장하고 관리하는데 사용되는 구조를 의미합니다. 주로 사용되는 컬렉션 타입에는 List, Set, Map이 있습니다. List List는 순서가 있는 컬렉션으로 중복된 원소를 포함할 수 있습니다. 읽기 전용과 가변적인 두 가지 타입의 List가 있습니다. 예제: val readOnlyList = listOf("Apple", "Banana", "Cherry") val mutableList = mutableListOf("Apple", "Banana", "Cherry") mutableList.add("Date") println(mutableList) // 출력: [Apple, Banana, Cherry, Date] Set Set은 순서를 보장하지 않으며 중복된 원소를 포함할 .. 2023. 6. 2. 고차 함수 고차 함수는 Kotlin의 중요한 기능 중 하나로, 함수를 파라미터로 받거나 결과로 반환하는 함수를 의미합니다. 이를 통해 코드의 가독성과 유연성을 높일 수 있습니다. 고차 함수의 선언 고차 함수는 일반 함수와 동일한 방식으로 선언됩니다. 차이점은 고차 함수는 다른 함수를 파라미터로 받거나 결과로 반환한다는 점입니다. 예제: fun operate(a: Int, b: Int, operation: (Int, Int) -> Int): Int { return operation(a, b) } val sum: (Int, Int) -> Int = { a, b -> a + b } println(operate(3, 5, sum)) // 출력: 8 이 예제에서 operate 함수는 세 번째 파라미터로 operation 함.. 2023. 6. 2. 익스텐션 함수 익스텐션 함수는 Kotlin의 강력한 기능 중 하나로, 기존 클래스에 새로운 메서드를 추가하는 것처럼 사용할 수 있습니다. 이 기능은 클래스의 정의를 변경하지 않고도 클래스의 기능을 확장하게 해줍니다. 익스텐션 함수의 선언 익스텐션 함수는 "클래스명.함수명"의 형태로 선언됩니다. 함수 내부에서 this 키워드를 사용하면 해당 클래스의 인스턴스를 가리킵니다. 예제: fun String.hello(): String { return "Hello, $this!" } println("Kotlin".hello()) // 출력: Hello, Kotlin! 이 예제에서 String 클래스에 hello 익스텐션 함수를 추가했습니다. this는 String 인스턴스를 가리키며, "Kotlin".hello()를 호출하면 ".. 2023. 6. 2. 람다 표현식 람다 표현식은 Kotlin에서 강력한 도구로, 이름 없이 사용되는 익명 함수를 나타냅니다. 람다 표현식은 함수의 파라미터로 전달되거나 결과로 반환될 수 있습니다. 람다 표현식의 선언 람다 표현식은 중괄호 {} 안에 선언되며, 파라미터는 -> 이전에, 함수 본문은 -> 이후에 위치합니다. 예제: val sum: (Int, Int) -> Int = { a, b -> a + b } println(sum(3, 5)) // 출력: 8 이 예제에서 sum은 두 개의 Int 파라미터를 받고 Int를 반환하는 람다 표현식입니다. 람다 표현식과 함수 파라미터 람다 표현식은 함수의 파라미터로 전달될 수 있습니다. 이를 통해 함수를 더 유연하게 만들 수 있습니다. 예제: fun operate(a: Int, b: Int, o.. 2023. 6. 2. Null 안정성 Null 안정성은 Kotlin 언어의 핵심 특징 중 하나입니다. Kotlin은 null 참조를 허용하지 않는 데이터 타입을 통해 NullPointer 예외를 방지합니다. 이를 통해 Kotlin 코드는 보다 안정적이고 명확해집니다. Null 불가 타입 Kotlin에서 변수를 선언할 때 타입 뒤에 물음표(?)를 붙이지 않으면 해당 변수는 null 값을 가질 수 없습니다. 이는 변수가 항상 non-null 값을 가지도록 보장합니다. 예제: var nonNullString: String = "Hello, Kotlin!" nonNullString = null // 컴파일 오류 이 예제에서 nonNullString은 non-null String 타입이므로 null 값을 가질 수 없습니다. Null 가능 타입 변수가.. 2023. 6. 2. 이전 1 ··· 51 52 53 54 55 56 57 ··· 162 다음 728x90