학습/Kotlin

> 1. 상속 상속 클래스 선언 형식은 다음과 같다 class [클래스명] : [상속받을 클래스명]() {} 이전 포스팅에서 생성했던 Human 클래스를 상속받는 Korean 객체를 작성해보자 open class Human(val name: String = "Anonymous") { ... } class Korean : Human() {} 상속을 받기 위해서는 상속받을 클래스 앞에 open을 선언해야 한다 자바와 같이 상속은 1개만 받을 수 있다 2. 오버라이딩 open class Human(val name: String = "Anonymous") { ... open fun singASong() { println("lalala") } } class Korean : Human() { override fun..
> 코틀린은 파일 이름과 클래스 이름이 달라도 된다. 하나의 파일 안에 여러 클래스를 넣는것도 가능하다. 1. 클래스 생성과 선언 class Human { val name = "taek" fun born() { println("New human has been born!!") } } fun main() { val human = Human() println("this human's name is ${human.name}") human.born() } 기본적인 클래스 구조이다 2. 생성자 class Human constructor (name: String){ val name = name fun born() { println("New human has been born!!") } } fun main() { v..
> 1. Nullable 코틀린의 가장 큰 장점이라 할 수 있다. 자바로 코딩하다보면 빌드 할 때 NPE(Null Pointer Exception) 오류를 자주 접하게 된다. 오류가 나면 어디서 나는지도 찾아야하고 예외처리를 다 해줘야한다. 코틀린은 컴파일 단계에서 오류를 나타내주기 때문에 빌드할 때 NPE 오류를 접할 일이 없고, null 처리가 간편하다. ? (Nullable Type) fun nullcheck() { var name = "taeki" var nameInUpperCase = name.uppercase() var nullName: String? = null var nullNameInUpperCase = nullName?.uppercase() } 변수를 선언할 때 null을 넣고 싶으면 ..
> 1. for - forEach문 형식 val students = arrayListOf("taeki", "james", "jenny", "jennifer") for(name in students){ println("${name}") } - index를 사용하여 출력하기 for((index, name) in students.withIndex()){ println("${index + 1}번째 학생 : ${name}") } - n에서 m까지 반복 (m 포함) sum = 0 for(i in 1..10){ sum += i } 1~10 - n에서 m까지 반복 (m 미포함) sum = 0 for(i in 1 until 100) { sum+= i } 1~99 - 역순 sum = 0 for(i in 10 downTo ..
> 배열과 리스트의 차이도 같이 보면 좋을듯 2023.02.22 - [개발공부/Java] - Array & List 차이 1. Array (배열) 처음에 크기를 지정해줘서 메모리에 할당되어 나오기 때문에 크기 수정이 불가능하다. fun array() { val array = arrayOf(1,2,3) val array2 = arrayOf(1, "2", 3.4f) array[0] = 3 } - arrayOf 메서드를 사용해서 초기화한다. - 타입을 여러개 넣는 것도 가능하다. - 인덱스로 값 수정이 가능하다. 2. List (리스트) 리스트에서 크게 두 가지로 나누어진다. 1. List 읽기 전용이며 수정을 못한다. fun array() { val list = listOf(1,2,3) val list2 =..
> 간단하게 , 무언가를 투닥투닥 해서 값을 만들어내면 Expression 결과가 값이 아닌 다른 형태로 나오면 Statement 라고 이해하면 된다. 예시로 이전 포스팅의 checkNum 메서드를 가져와보면 fun checkNum(score: Int){ when(score){ 0 -> println("this is 0") 1 -> println("this is 1") 2,3 -> println("this is 2 or 3") else -> println("I don't know") } var b = when(score) { 1 -> 1 2 -> 2 else -> 3 } when (score){ in 90..100 -> println("You are genius") in 80..90 -> println(..
태기
'학습/Kotlin' 카테고리의 글 목록