코틀린 인 액션
예외 처리
오류가 발생하면 예외를 던진다. 함수를 호출하는 쪽에서 예외 처리 가능 코틀린의 예외 처리 예시 val percentage = if (number in 0 .. 100) number else throw IllegalArgumentException( "A percentage value must be between 0 and 100: $number" ) 코틀린은 자바와 마찬가지롤 예외 처리를 위해 try, catch, finally절을 함께 사용 import java.io.BufferedReader import java.io.StringReader fun readNumber(reader: BufferedReader): Int?{ try{ val line = reader.readLine() return Int..
Iteration
while 루프 while do-while 자바와 다르지 않음 while(조건){ /*...*/ } do{ /*...*/ }while(조건) for 루프 범위와 수열 범위 폐구간의 범위를 지정 가능b. 수열 fun main() { val a = 1..10 println(a is IntRange) } 범위에 속한 값을 일정한 순서로 이터레이션하는 경우 예시 fun fizzBuzz(i: Int) = when{ i % 15 == 0 -> "FizzBuzz" i % 5 == 0 -> "Buzz" i % 3 == 0 -> "Fizz" else -> "$i" } fun main(){ for(i in 1..100){ println(fizzBuzz(i)) } } 역방향 수열을 원한다면 정수 downTo 정수 사용 증가..
선택 표현과 처리
enum 클래스 enum class Color{ RED, ORANGE, YELLOW, GREEN, BLUE, INDIGO, VIOLET } enum 클래스 안에 프로퍼티나 메소드 정의 가능 enum class Color(val r: Int, val g: Int, val b: Int){ RED(255,0,0), GREEN(0,255,0), BLUE(0,0,255); fun rgb() = (r * 256 + g) * 256 + b } fun main() { println(Color.BLUE.rgb()) } 각 enum 상수를 정의할 때 그 상수에 해당하는 프로퍼티 값을 지정해야함 enum 클래스 안에 메소드를 정의하는 경우 반드시 enum 상수 목록과 메소드 정의 사이에 세미콜론을 넣어함 when으로 enu..
클래스와 프로퍼티
class Person(val name: String) class 이름 : Person 괄호 안의 파라미터는 프로퍼티 클래스의 기본 가시성은 public 프로퍼티 클래스 데이터를 캡슐화 캡슐화한 데이터를 다루는 코드를 한 주체 아래 가두는 것 프로퍼티 자바에서는 필드와 접근자를 묶어서 프로퍼티라고 부름 코틀린 프로퍼티 자바의 필드와 접근자 메소드를 완전히 대신 프로퍼티 선언 시 → val이나 var을 사용 val : 읽기 전용 프로퍼티 var: 변경 가능 class Person( val name: String, var isMarried: Boolean ) 코틀린은 위의 2개의 프로퍼티에 대해 (비공개) 필드와 (공개) 접근자 메소드를 만들어낸다. 단 val의 경우 setter는 만들지 않음! val pe..
함수와 변수
함수로 보는 코틀린 fun main(args: Array){ priintln("Hello, world!") } 발견할 수 있는 특징 함수를 선언할 때 → fun키워드 사용 파라미터 이름 뒤에 그 파라미터의 타입을 쓴다. 함수를 최상위 수준에 정의 가능 꼭 클래스 안에 함수를 넣어야 할 필요 X 배열도 일반적인 클래스와 동일 코틀린에서는 자바와 달리 배열 처리를 위한 문법이 따로 존재 X 표준 출력 : println사용 코틀린 표준 라이브러리는 여러 가지 표준 자바 라이브러리 함수를 간결하게 사용가능하게 해주는 wrapper제공 세미콜론을 붙이지 않아도 된다. 함수 fun max(a: Int, b: Int) : Int { return if (a > b) a else b } 함수 선언은 fun키워드로 시작 ..
🔥코틀린 시작
📱안드로이드 개발자 나의 목표는 안드로이드 개발자가 되는 것이다. 주언어를 코틀린으로 사용하고 있고 지금까지 혼자서 만들어본 토이 프로젝트를 제외하고 프로젝트를 2회 진행 현재는 스마일게이트에서 진행하는 Winter Dev Camp에 안드로이드 개발로 참여하여 규모있는 프로젝트를 계획하고 있다. 코틀린이라는 언어를 제대로 공부하지 않았다. 프로젝트를 진행해본 결과 코틀린을 깊게 이해하지 않는다면 한계가 있다는 것을 깨달았다. 💡코틀린 시작 안드로이드 공부를 시작한 것은 6개월 전이다. 메타버스와 안드로이드 개발에 관심을 가지고 있었고 진로를 고민하였다. 1개월 전에 안드로이드 개발로 진로를 확정하고 이번 방학을 시작으로 안드로이드 공부를 본격적으로 시작하고자 한다. 안드로이드 개발을 진행하면서 가장 기본..