try catch finally 구문 // 1. try catch finally 구문 - 주어진 문자열을 정수로 변경 fun parseIntOrThrow(str: String): Int{ try { return str.toInt() } catch (e: NumberFormatException) { throw IllegalArgumentException("주어진 ${str}는 숫자가 아닙니다.") } } 자바에 비해서 코틀린에서는 기본타입간의 형변환은 .toType()을 사용한다. 타입이 뒤에 위치한다. new를 사용하지 않는다. 포맷팅이 간결하다. 코틀린에서는 try catch 구문 역시 expression이다. // 주어진 문자열을 정수로 변경 - 실패하면 null 반환 fun parseIntOrNul..
for-each 문 컬렉션을 만드는 방법 자바: Arrays.asList 코틀린: listOf 자바 -> : 사용 코틀린 -> : 대신 in 사용 fun forEach() { val numbers = listOf(1L, 2L, 3L) for (number in numbers) { println(number) } } 전통적인 for문 fun traditionFor1() { for (i in 1..3) { println(i) } } fun traditionalFor2() { for (i in 3 downTo 1) { println(i) } } fun traditionalFor3() { for (i in 1..5 step 2) { println(i) } } .. 연산자 : 범위를 만들어내는 연산자이다. Ex)..
if문 자바와 코틀린은 똑같이 생김 차이점 자바에서 if-else는 Statement 코틀린에서는 Expression Expression과 Statement Statement: 프로그램의 문장. 하나의 값으로 도출되지 않는다. 자바에서는 if문을 하나의 값으로 취급하지 않는다. ( Statement ) Expression: 하나의 값으로 도출되는 문장. 자바에서 3항 연산자는 하나의 값으로 취급된다. ( Expression 이면서 Statement ) 코틀린에서는 if-else를 expression으로 사용할 수 있기때문에 3항 연산자가 없다. // Expression & Statement - if / else fun getPassOrFail(score: Int): String { return if (s..
단항 연산자 / 산술 연산자 단항 연산자 ++ -- 산술 연산자 + - * / % 산술대입 연산자 += -= *= /= %= 비교 연산자와 동등성, 동일성 비교 연산자 > = money2 } 동등성(Equality): 두 객체의 값이 같은가 코틀린: == ( 간접적으로 equals를 호출 ) 자바: equals 동일성(Identity): 완전히 동일한 객체인가 ( 주소값이 같은가 ) 코틀린: === 자바: == 논리 연산자 / 코틀린에 있는 특이한 연산자 논리 연산자 자바와 완전히 동일하고, 자바처럼 Lazy 연산을 수행한다. && || ! in / !in 컬렉션이나 범위에 포함되어 있다. / 있지않다. a..b a부터 b까지의 범위 객체를 생성한다. a[i] a에서 특정 index i로 값을 가져온다...
1. 기본 타입 코틀린에서는 선언된 기본값을 보고 타입을 추론한다. 자바와 다른 점 자바: 더 큰 타입으로의 기본 타입간의 변환은 암시적으로 이루어질 수 있다. 코틀린: 기본 타입간의 변환은 명시적으로 이루어져야 한다. 코틀린은 타입 변환시 to변환타입() 메서드를 사용해야 한다. 2. 타입 캐스팅 value is Type value가 Type이면, true 반환 value가 Type이 아니면, false 반환 value !is Type value가 Type이면, false 반환 value가 Type이 아니면, true 반환 value as Type value가 Type이면,Type으로 타입 캐스팅 value가 Type이 아니면, 예외 발생 value ?as Type value가 Type이면, Type으..
✏️ 코틀린에서 null을 다루는 방법 한번 null 검사를 하면 non-null 임을 컴파일러가 알 수 있다. null이 아닌 경우에만 호출되는 Safe Call( ?. )이 있다. null인 경우에만 호출되는 Elvis 연산자 ( ?: )가 있다. null이 절대 아닐때 사용할 수 있는 널 아님 단언 ( !! ) 있다. 코틀린에서 자바 코드를 사용할 때, 플랫폼 타입 사용에 유의해야 한다. 플랫폼 타입: 코틀린이 null 관련 정보를 알 수 없는 타입 런타임시 Exception이 발생할 수 있다. 해결방법 Java 코드를 읽으면서 null 가능성을 확인 코틀린으로 Wrapping 한다.
✏️ 코틀린에서 변수를 다루는 방법 모든 변수는 var 또는 val를 붙여주어야 한다. var: 변경 가능 val: 변경 불가능 타입을 명시적으로 작성하지 않아도, 타입이 추론된다. Primitive Type과 Reference Type을 구분하지 않아도 된다. Null이 들어갈 수 있는 변수에는 타입뒤에 ?(물음표)를 붙여주어야 한다. 객체 인스턴스 시에는 new 붙이지 않아야 한다.