본문 바로가기

# 02/코틀린

[Kotlin] 자료형 변환 코틀린의 자료형 변환 기본형을 사용하지 않고 참조형만 사용서로 다른 자료형은 변환 과정을 거친 후 비교 val a : Int = 1 // 정수형 변수 a를 선언하고 1을 할당val b : Double = a // 자료형 불일치 오류 발생val c : Int = 1.1 // 자료형 불일치 오류 발생 변환 메서드의 이용val b : Double = a.toDouble // 변환 메서드 사용 (자바는 자동으로 변환되는데 코틀린은 변환 메서드 사용해줘야됨!!) 표현식에서 자료형의 자동 변환val result = 1L + 3 // Long + Int -> result는 Long 변환 메서드의 종류toByte : BytetoLong : LongtoShort : ShorttoFloat : FloattoInt : In..
[Kotlin] 변수의 null NPE(NullPointerException)사용할 수 없는 null인 변수에 접근하면서 발생하는 예외 코틀린의 변수 선언은 기본적으로 null을 허용하지 않는다.val a : Int = 30val b : String = "Hello" null 가능한 선언val a : Int? = nullval b : String? = null var str1 : String = "Hello Kotlin"str1 = null // null을 허용하지 않음 (오류 발생!) var str1 : String? = "Hello Kotlin"str1 = null // null을 허용. 오류 발생하지 않음! fun main() {var str1 : String? = "Hello World"str1 = nullprintln("str..
[Kotlin] 기본 연산자 대입 연산자 num = 2num += 2num -= 2num *= 2num /= 2num %= 2 // 간략하게 표시가능 왼쪽 항의 값을 오른쪽 값과 연산 후 왼쪽 변수에 대입 증가 연산자와 감소 연산자 ++ 항의 값에 1 증가 ++num 또는 num++-- 항의 값에 1 감소 --num 또는 num-- fun main() {var num1 = 10var num2 = 10val result1 = ++num1 // num 값 증가 후 대입val result2 = num2++ // 먼저 num 값 대입 후 증가 println("result1 : $result1") // 증가된 11println("result2 : $result2") // 증가되기 전의 10이 할당되므로 주의!!println("num1 : $..
[Kotlin] 패키지 프로젝트 안에 모듈있고 모듈안에 패키지 (지정안할시 디폴트) 안에 .kt 파일 생성하고 클래스 지정해주면됨! 다른 패키지에서 이 클래스 사용하고 싶으면 import해주면됨 근데 만약 다른 패키지 Person import 해줬는데 현재 패키지안에도 Person이 있으면 import com.example.edu.Person import com.example.edu.Person as User // Person 클래스를 User로 지정해줌 import는 클래스 뿐 아니라 다른것도 임포트 할 수 있다.최상위 레벨 함수와 프로퍼티, 오브젝트 선언의 함수와 프로퍼티, 열거형 상수
[Kotlin] 변수와 자료형 변수 var, val 선언가능 var 바꿀 수 있음val 최초로 지정한 변수 변경 안됨. 상수 개념(val 변수를 선언해 놓고 변경해야 할 때 var로 바꾸는 방법을 권장함) val username : String = "joy"선언키워드, 변수이름, 자료형, 값 val username = "joy"코틀린이 자료형을 추론하여 username의 자료형을 String으로 결정 var username // 자료형을 지정하지 않은 변수는 사용할 수 없다. val number = 10 // number 변수는 int 형으로 추론var language = "Korean" // language 변수는 String 으로 추론val secondNumber : Int = 20 // 자료형을 Int형으로 명시적으로 지정lan..
[Kotlin] Basic syntax 자바 String name = "name";코틀린 var name: String = "name" / var name = "name" (String 생략 가능) 자바 final String name = "name";코틀린 val name: String = "name" / val name = "name" (String 생략 가능) 자바public String getName() {return "name";}코틀린fun getName(): String {return "name"} / fun getName(): String = "name" / fun getName() = "name" (축약 가능)