[TIL/Kotlin] 코틀린 중급문법_예외 처리, 예외 던지기
·
TIL/Kotlin
1. 예외 처리 예외를 처리하지 않으면 프로그램은 무조건 강제 종료된다. 예외를 처리하여 프로그램이 강제 종료되는 것을 막아야한다. 예외가 발생할 가능성이 있는 부분을 try 블록으로 감싸고 try 블록 바로 아래에 예외가 발생했을 때 대신 실행할 코드를 catch 블록으로 지정한다. e는 예외 객체를 가리키는 참조 변수이고, 아래 예제에 보이는 NumberFormatException은 예외 타입이다. finally 블록은 예외 발생 여부와 상관 없이 무조건 실행되는 블록이다. fun main() { try { val str = "abcd" val num = str.toInt() println(num) // e는 예외 객체를 가리키는 참조 변수이고, NumberFormatException은 예외 타입 }..
[TIL/Kotiln] 코틀린 중급문법_생성자와 초기화(init)블록, 보조생성자, Getter/Setter, 연산자 오버로딩, 번호붙은접근연산자, 호출연산자, in연산자, 멤버함수의 중위표기법, 상속, 업캐스팅, 오버라..
·
TIL/Kotlin
1. 생성자와 초기화 블록 생성자는 다음처럼 정의하며, constructor 키워드는 생략해도 상관 없다. class 클래스 이름 constructor(생성자의 매개변수 선언) { } 아래는 예제 코드이다. val 프로퍼티를 선언하고 있으며, init 블록(초기화 블록) 안에서 프로퍼티를 초기화하고 있다. class Person constructor(name: String, age: Int) { // val 프로퍼티 선언(초기화하지않음) val name: String val age: Int // 초기화 블록 // init 블록 안에서 프로퍼티를 초기화하면 프로퍼티를 선언과 동시에 초기화하지 않아도 됨 init { this.name = name this.age = age } } fun main(args: ..
[TIL/Kotlin] 코틀린 중급문법_객체(Object), 클래스(Class), ===와 !== 연산자, 힙(Heap) 영역의 존재 이유
·
TIL/Kotlin
1. 객체(Object) 객체란, 상자, 사람, 가방 등 우리가 인식할 수 있는 물체 또는 물건을 뜻한다. 객체들은 각자의 고유한 속성과 동작을 갖고 있다. SW 관점에서 객체란, 서로 연관 있는 변수(속성)들을 묶어놓은 데이터 덩어리를 뜻한다. 코틀린에서 object는 {} 중괄호로 시작과 끝을 나타낸다. 이 사이에 object에 포함시킬 변수들을 선언한다. object에 포함된 변수들을 선언과 동시에 초기화 하고 있으며, name, age처럼 object에 포함된 변수들은 프로퍼티(property)라고 부른다. fun main(args: Array): Unit { // person 변수에 object(객체)를 저장 val person = object { /* object에 포함된 변수들은 선언과 동시..
[TIL/Kotlin] 코틀린 기초문법_함수, Unit 타입, 디폴트 인수와 가변 인수
·
TIL/Kotlin
1. 함수(Function) 함수를 선언하는 방식은 아래와 같다. fun 식별자(): 반환타입 { 함수에 포함시킬 문장 } 샘플 코드를 살펴보자 함수 블록의 문장이 하나일 경우 한 줄로 축약할 수 있다. 타입을 추론할 수도 있기 때문에 함수의 반환 타입까지 생락이 가능하다. fun main(args: Array): Unit { println(myFunction()) println(myFunction() + 10) } fun myFunction(): Int { val a = 3 val b = 6 println("a: " + a + ", b: " + b) return a + b } // 함수 블록의 문장이 하나일 경우 한 줄로 축약할 수 있다. fun function(): Double { return 3.0..
[TIL/Kotlin] 코틀린 기초문법_흐름 제어(조건문과 반복문, Label)
·
TIL/Kotlin
1. 조건문 - if 와 if-else, if와 else의 중첩 if(조건)에서 조건이 true인 경우 if 문 안으로 들어와 if 문 안에 있는 문장을 실행시킨다. fun main(args: Array): Unit { var a = 15 val b = 11 if(a > b) { println("if 안으로 들어옴") a -= b } println(a) } if(조건)이 true인 경우 if 문 안에 있는 문장을 실행시키고 false인 경우 else 안에 있는 문장을 실행시킨다. fun main(args: Array): Unit { val a = 10 val b = 5 if(a b) println("a가 크다") else..
[TIL/Kotlin] 코틀린 기초 문법_표현식, 변수선언, 비트연산자, 정수/실수/문자/문자열, 표현식, 타입별명
·
TIL/Kotlin
1. 표현식(Expression) 자바에서는 표현식이 단독으로 오는 것을 허용하지 않기 때문에 53 + 62 - 126과 같은 코드는 오류를 일으키지만 코틀린은 표현식이 단독으로 오는 것을 허용하므로 오류가 발생하지 않는다. 위에서 보이는 피연산자와 연산자로 이루어진 뭉치는 결국 하나의 값으로 수렴하게 되는데 이렇게 하나의 값으로 수렴하는 수식 뭉치를 표현식이라고 한다. 연산자 없이 리터럴 53만 있어도 하나의 표현식이 된다. 2. 변수(Variable) 코틀린은 var와 val 키워드를 사용하여 변수를 선언한다. var는 변수 선언 후 값을 수정할 수 있고 val는 변수 선언 후 한번 값을 저장하면 값을 수정할 수 없다. 식별자(변수의 이름)는 키워드를 제외한 영문자, 숫자, 언더스코어(_)로만 지을 ..