본문 바로가기

함수3

[코틀린/Kotlin] 확장함수 확장 함수기존 클래스에서 새 함수를 추가하는 기능기존 클래스의 코드를 수정하지 않고 기능 확장kotlin의 클래스는 기본적으로 final이므로 open이 없으면 상속이 어려움Extension, 확장을 사용하여 기능 추가사용 방법fun 클래스명.확장함수명() {...}기본 문법 예시// String 클래스에 확장 함수 추가fun String.addExclamation(): String { return this + "!"}fun main() { val greeting = "Hello" println(greeting.addExclamation()) // 출력: Hello!}this는 호출한 객체(String)을 가리킴확장 함수는 마치 해당 클래스의 멤버 함수처럼 호출 가능주의확장 함수는 실제.. 2025. 8. 19.
[코틀린/Kotlin] 람다와 고차함수 람다이름이 없는 함수: 익명함수간단한 처리를 하므로 fun으로 함수를 만들기 번거로울 때 사용filter, map, forEach 같은 함수 내에서 사용기본 문법val lamdaName = { arg1: Type, arg2: Type -> return }[예시]val result = listOf(1, 2, 3).map { it * 2 } // it * 2는 람다식val result = listOf(1, 2, 3).map { it * 2 } // it * 2는 람다식람다 표기법소괄호로 묶은 파라미터와 리턴, 화살표 표기법으로 연관// 매개변수 없음() -> A// 매개변수 있음(A, B) -> C파라미터 타입은 생략 가능하나 리턴은 생략 불가능// 생략 전(a: Int, b: Int) -> Int// 생략.. 2025. 8. 18.
[코틀린/Kotlin] 함수 및 클래스 구조 함수기본 구조return하지 않는 함수 (void 함수)에 선언한 리턴타입 Unit은 생략이 가능parameter(파라미터): 함수에 전달할 값으로 식별자와 타입으로 구성파리미터는 함수에 정보를 전달하는 방법을 정의함수에 전달할 정보를 넣는 장소인자(argumnet): 함수에 전달하는 실제 값이름, 파라미터, 반환타입은 함수 시그니처(function signater)fun functionName(parameter: ParameterType): Unit{...}fun functionName(parameter:ParameterType): ReturnType{ return result}멤버 함수(Member funcion)클래스 혹은 object 내에 정의된 함수class Date(){ fun getDate(.. 2025. 8. 12.