본문 바로가기

Android (Kotlin)/kotlin 문법13

[Kotlin] List - forEach 우선적으로 사용할 데이터가 아래 코드와 같다고 가정하자. class Country(val name : String, val cities : List) class City(val name : String, val streets : List) class World { val streetsOfAmsterdam = listOf("Herengracht", "Prinsengracht") val streetsOfBerlin = listOf("Unter den Linden","Tiergarten") val streetsOfMaastricht = listOf("Grote Gracht", "Vrijthof") val countries = listOf( Country("Netherlands", listOf(City("Maa.. 2023. 12. 4.
[Kotlin] abstract vs interface 출처: https://stackoverflow.com/questions/45616548/kotlin-why-use-abstract-classes-vs-interfaces 차이점 abstract 클래스는 상태 즉 데이터 값을 가질 수 있다. 따라서 abstract 클래스는 interface에 반해 생성자, init 블록, field/ property를 가질 수 있다. 클래스는 abstract 클래스 1개만 implement(구현/상속?) 가능하다. 클래스는 여러개의 interface를 implement할 수 있다. 따라서 abstract 클래스는 상태를 구현할 수 있고 interface는 행동을 구현할 수 있다? 오잉.. 근데 아래 링크에 너무 잘 설명 되어 있다.. 유레카 https://velog.io/.. 2023. 12. 3.
[Kotlin] Data Class Syntax data class CLassName( val data1: String, val data2: Int) 조건 주 생성자에 매개변수가 1개 이상 있어야 한다. 주 생성자의 매개변수가 val 또는 var이어야 한다. 데이터 클래스는 abstract, slealed, open이 될 수 없다. 다른 클래스 확장이 가능하고 인터페이스 적용 가능하다. 데이터 클래스에 들어있는 함수 toString() 객체의 데이터를 출력하기 위해 알아서 문자열로 바꾸어준다. 예를들어 데이터 클래스 가 아래와 같이 정의 되면 data class Cell(var name: String, var roll: Int) fun main() { val p = Cell("Euny", 21) println(p) } 위 클래스가 실행되면.. 2023. 12. 3.
[kotlin] joinToString(prefix, suffix, separator) 리스트를 문자열로 바꾸기 1. List를 문자열로 바꾸기 val numbers = listOf(12, 24, 46, 68, 80) val n1 = numbers.joinToString() // n1: "12, 24, 46, 68, 80" val n2 = numbers.joinToString("") // n2: "1224466880" val watermelon = listOf("수", "박", "수", "박") val w1 = numbers.joinToString() // w1: "수, 박, 수, 박" val w2 = numbers.joinToString("") // w2: "수박수박" 2. 접두사랑 접미사 붙이기 val numbers = listOf(11, 22, 3, 41, 52, 6) val string = numbers.j.. 2023. 12. 2.