[KOTLIN] 함수 정의와 호출
Uploaded by N2T
- 코틀린/코틀린인액션
- · 2024. 2. 8.
값의 쌍 , 중위 호출과 구조 분해 선언맵 생성하기맵 생성시 mapOf 함수를 사용함.val map = mapOf(1 to "one", 7 to "seven", 53 to "fifty-three")중위 호출(Infix Call)to 는 코틀린의 키워드가 아니라,중위 호출을 통해 호출되는 일반 메서드임중위 호출은 수신 객체 ( 1 )와 유일한 메서드 인자(”one”) 사이에 메서드 이름을 넣어 호출하는 방식임.1.to("one") // "to" 메서드를 일반적인 방식으로 호출함 1 to "one" // "to" 메서드를 중위 호출 방식으로 호출함중위 호출을 사용하려면 메서드 앞에 infix 변경자를 추가해야 한다.to 함수 는 아래와 같은 식임infix fun Any.to(other: Any) = Pair..
문자열 나누기자바의 String Split 메서드 문제점자바의 String.split 메서드 사용자바에서 “Hello.Split”.split(”.”) 을 사용하여 문자열을 점(.) 을 기준으로 나누려고 시도하는 경우해당 메서드는 정규식을 기반으로 작동함.마침표는 모든 문자를 나타내는 와일드카드로 해석되기에, 빈 배열을 반환해버림코틀린에서 split다양한 파라미터 조합을 받는 split 확장 함수를 제공한다.정규식으로 받고싶으면 Regex 타입을 받고일반 텍스트의 경우 String 타입의 값을 받음정규식을 사용한 문자열 분리fun main() { println("12.345-6.A".split("[.\\-]".toRegex())) // 출력: [12, 345, 6, A] } [12, 345, 6, A]to..
Uploaded by N2T
코틀린에서 컬렉션 만들기//HashSet val set = hashSetOf(1, 7, 53) //ArrayList val list = arrayListOf(1, 7, 53) //HashMap val map = hashMapOf(1 to "one", 7 to "seven", 53 to "fifty-three")setOf listOf mapOf 같은 함수들은각각 Set List Map 타입의 인스턴스를 생성한다.to 코틀린에서 제공하는 중위 함수이다.키와 값을 연결하여 Pair 객체를 생성한다.해당 Pair 객체는 Map 을 생성할 때 사용된다고 한다.코틀린과 자바 컬렉션자바 컬렉션과 동일한 클래스를 사용한다.코틀린과 자바 간의 상호 운용성을 강화하기 위함코틀린에서 자바 컬렉션에 확장 함수를 추가하여 코틀..
class Main { fun readNumber(reader: BufferedReader): Int? { return try { val line = reader.readLine() Integer.parseInt(line) } catch (e: NumberFormatException) { null } finally { reader.close() } } }자바와 달리 함수가 던질 수 있는 예외 명시하지 않아도 된다.체크 예외언체크 예외를 구분하지 않는다.발생한 예외를 잡아내거나 잡아내지 않아도 됨NumberFormatException 은 언체크 예외코틀린은 잡아내도록 강제 XBufferedReader 의 경우IOException 을 던질 수 있는데, 체크 예외자바에서는 반드시 처리해야한다.코틀린에서는?명시..
상속 가능성 변경자기본 상태와 final 변경자클래스와 메서드가 기본적으로 상속이 불가능한 final 상태이다.클래스의 상속을 제한하기 위한 방법임.상속의 허용은 클래스나 메서드에 open 변경자를 붙여줘야한다open class RichButton : Clickable { fun disable(){} // 이 함수는 final입니다. 하위 클래스가 이 메서드를 오버라이드할 수 없습니다. open fun animate() {} // 이 함수는 open입니다. 하위 클래스에서 이 메서드를 오버라이드할 수 있습니다. override fun click() {} // 이 함수는 상위 클래스에서 선언된 open 메서드를 오버라이드합니다. 오버라이드한 메서드는 기본적으로 open입니다. }override 와 fina..