코틀린에서 배열과 컬렉션을 다루는 방법 - 15강
·
[ Kotlin ]
인프런에서 제공하고 있는 강의를 보고 정리한 글입니다. 배열배열은 사실 잘 사용하지 않는다. 배열보다는 List를 사용하는 것을 Effective Java 에서도 권장하고 있다.fun main() { val array = arrayOf(100, 200) // 0 부터 마지막 index 까지 for문으로 돌릴 수 있다 for (i in array.indices) { println("${i} #{array[i]}") } // index 와 value 를 한번에 받기 for ((idx, value) in array.withIndex()) { println("$idx $value") }}코틀린에서의 Collection - List, Set, Map..
코틀린에서 다양한 클래스를 다루는 방법 - 14강
·
[ Kotlin ]
인프런에서 제공하고 있는 강의를 보고 정리한 글입니다. Data Class클래스가 장황해지거나, 클래스 생성 이후 추가적인 처리를 해줘야하는 단점이 있어서, 기존에 Java의 경우, Lombok 을 사용하곤 했었다. Kotlin에서는 다음과 같이 할 수 있다.data class PersonDto ( val name: Stirng, val age: Int,) {}// 이렇게만 생성해줘도 hashCode, toString을 자동으로 만들어준다. // 여기에 named argument 까지 활용하면, builder pattern 을 쓰는 것과 같은 효과를 누릴 수 있다. Enum classenum class Country( private val code: String,) { KOREA("..
코틀린에서 중첩 클래스를 다루는 방법 - 13강
·
[ Kotlin ]
인프런에서 제공하고 있는 강의를 보고 정리한 글입니다. 코틀린의 중첩 클래스와 내부 클래스권장되는 static 중첩 클래스class House ( var address: String, var livingRoom: LivingRoom = LivingRoom(10.0)) { class LivingRoom ( private var area: Double, )}기본적으로 바깥 클래스를 참조하지 않도록 되어있고, 바깥 클래스를 참조하고 싶다면 inner 키워드를 추가해야 한다.class House ( var address: String,) { var livingRoom = this.LivingRoom(10.0) inner class LivingRoom ( ..
코틀린에서 object 키워드를 다루는 방법 - 12강
·
[ Kotlin ]
인프런에서 제공하고 있는 강의를 보고 정리한 글입니다.static 함수와 변수class Person private constructor( var name: String, var name: Int,) { // static 이 코틀린에서는 없다. static 대신 사용한다. companion object { private const val MIN_AGE = 1 // 확인 fun newBaby(name: String) : Person { return Person(name, MIN_AGE) } }}static : 클래스가 인스턴스화 될 때 새로운 값이 복제되는 것이 아닌 정적으로 인스턴스끼리의 값을 공유함.companion ob..
코틀린에서 접근 제어를 다루는 방법 - 11강
·
[ Kotlin ]
인프런에서 제공하고 있는 강의를 보고 정리한 글입니다. 자바와 코틀린의 가시성 제어Java, KotlinKotlin 에서는 패키지를 namespace 를 관리하기 위한 용도로만 사용되고, 가시성 제어에는 사용되지 않는다.모듈 : 한번에 컴파일 되는 Kotlin 코드.public : Kotlin 의 기본 접근 지시어코틀린 파일의 접근 제어코틀린은 .kt 파일에 변수, 함수, 클래스를 바로 만들 수 있다.public기본값. 어디서든 접근이 가능하다protected파일(최상단)에서는 사용이 불가능하다internal같은 모듈에서만 접근 가능하다private같은 파일 내에서만 접근 가능하다다양한 구성요소의 접근 제어생성자에 접근 지시어를 붙이려면, constructor를 반드시 써줘야한다.open class Ca..
코틀린에서 상속을 다루는 방법 - 10강
·
[ Kotlin ]
인프런에서 제공하고 있는 강의를 보고 정리한 글입니다.추상 클래스abstract class Animal ( protected val speciess: String, protected val legCount: Int, ) { abstract fun move()}class Cat( species: String) : Animal(species, 4) { // 한칸 띄고 : 를 붙여야함. override fun move() { println("Cat is moving") }}extends 키워드를 사용하지 않고 : 를 사용한다.상위 클래스의 생성자를 바로 호출한다.override 를 필수적으로 붙여주어야 한다.abstract class Animal ( prot..
코틀린에서 클래스를 다루는 방법 - 9강
·
[ Kotlin ]
인프런에서 제공하고 있는 강의를 보고 정리한 글입니다.클래스와 프로퍼티class Person constructor(name:String, age:Int) { // public 도 생략이 가능하다. val name = name var age: = age}getter 와 setter 를 만들지 않아도 된다. 자동으로 만들어준다. constructor 역시 생략이 가능하다. 그래서 다음과 같이 쓸 수 있다.class Person(name:String, age:Int) { // public 도 생략이 가능하다. val name = name var age: = age}코틀린에서는 생성자에서 프로퍼티를 만들 수 있으므로, 다음과 같이 선언할 수 있다.class Person ( val na..
코틀린에서 함수를 제어하는 방법 - 8강
·
[ Kotlin ]
인프런에서 제공하고 있는 강의를 보고 정리한 글입니다.https://www.inflearn.com/course/java-to-kotlin/dashboard 함수 선언 문법두 정수를 받아 더 큰 정수를 반환하는 예제를 작성할 것이다.fun max(a: Int, b:Int) : Int { if (a > b) { return a } return b}// 2. 이렇게도 표현할 수 있는데fun max(a: Int, b:Int) : Int { return if (a > b) { a } else { b }}// 3. 이렇게 표현도 가능하다. 하나의 결과값이기 때문에, 다음과 같이 표현이 가능한 것 fun max(a: Int, b:Int) : Int..
코틀린에서 코드를 제어하는 방법 - 6강, 7강
·
[ Kotlin ]
인프런에서 제공하고 있는 강의를 보고 정리한 글입니다.https://www.inflearn.com/course/java-to-kotlin/dashboard 반복문과 예외를 다루는 방법에 대해서 알아본다.반복문을 다루는 방법for-each 문숫자가 들어 있는 리스트를 하나씩 출력하는 예제이다.val numbers = listOf(1L, 2L, 3L)for (number in numbers) { println(number)}전통적인 for 문for (i in 1..3) { // .. 이 범위를 나타내는 연산자. println(i)}// 3에서 1로 내려갈 때. 1씩 빼서 출력한다.for (i in 3 downTo 1) { println(i)}// 2씩 올라간다는 뜻for (i in 1..4 ..
코틀린에서 코드를 제어하는 방법 - 5강
·
[ Kotlin ]
인프런에서 제공하고 있는 강의를 보고 정리한 글입니다.https://www.inflearn.com/course/java-to-kotlin/dashboardif 문Java 와 동일하다.Expression 과 StatementStatement 는 프로그램의 문장. 하나의 값으로 도출되지 않는다. Expression 은 반드시 하나의 값으로 도출되는 문장 이다.Java 에서 if-else 는 Statement 지만, Kotlin 에서는 Expression 이다. Java 에서 3항연산자 처럼, Kotlin 에서는 if-else 를 사용할 수 있다. Kotlin 에서는 if-else 를 Expression 으로 사용할 수 있으므로, 삼항연산자가 없다.fun getPassOrFail(score: Int): Str..
coding-wave
'분류 전체보기' 카테고리의 글 목록 (2 Page)