[KOTLIN] 함수 정의와 호출
Uploaded by N2T
- 코틀린/코틀린인액션
- · 2024. 2. 8.
주 생성자(Primary Constructor)클래스 이름 뒤에 오는 괄호로 둘러싸인 코드를 주 생성자라고 함생성자 인자 지정인자에 의해 초기화되는 프로퍼티를 정의할 때 사용주 생성자의 명시적 선언class User(_nickname: String) { val nickname: String init { nickname = _nickname } }init 키워드로 초기화 블럭을 시작한다.객체가 생성될 때 실행된다.주 생성자의 간결한 선언class User(val nickname: String)val 키워드를 생성자 파라미터 앞에 추가함으로 프로퍼티 정의하고 초기화 가능프로퍼티 정의와 초기화를 한 줄로 간략하게 표현한다.생성자 인자 디폴트값class User(val nickname: String, val i..
코틀린 인터페이스 기본자바 8 의 인터페이스와 유사함인터페이스 내에 추상 메서드 + 구현이 있는 메서드( 자바 디폴트 메서드 ) 도 포함이 가능하다.하지만, 인터페이스에는 상태를 나타내는 필드를 포함할 수 없음.인터페이스 정의 및 구현interface Clickable { fun click() }click 이라는 추상 메서드를 가진 Clickable 인터페이스를 정의함.해당 인터페이스를 구현하는 모든 클래스는 click 메서드에 대한 구현을 제공해야함class Button : Clickable { override fun click() { println("I was clicked") } }Button 클래스는 Clickable 인터페이스를 구현하고 click 메서드를 오버라이드코틀린에서는 override ..
값의 쌍 , 중위 호출과 구조 분해 선언맵 생성하기맵 생성시 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 을 생성할 때 사용된다고 한다.코틀린과 자바 컬렉션자바 컬렉션과 동일한 클래스를 사용한다.코틀린과 자바 간의 상호 운용성을 강화하기 위함코틀린에서 자바 컬렉션에 확장 함수를 추가하여 코틀..