세상을 더 편리하게
[Kotlin] 주 생성자 & 부 생성자 순서
Programming/Kotlin 2020. 3. 8. 18:11

class Person(firstName: String, out: Unit = println("[Primary Constructor] Parameter")) { val fName = println("[Property Person fName] : $firstName") init { println("[init] Person init block") } constructor( firstName: String, age: Int, out: Unit = println("[Secondary Constructor] Parameter") ) : this(firstName) { println("[Secondary Constructor] Body :$firstName $age") } } fun main() { val p1 =..

[Kotlin] 상속과 다형성
Programming/Kotlin 2020. 3. 8. 02:13

상속 상속은 부모 클래스에서 프로퍼티와 매소드를 그대로 받아 올 수 있다. 하지만 자바와 다른 점은 클래스를 상속시켜 주기 위해서는 특정 코드를 넣어야 하고 일반적으로 선언된 클래스는 상속 받을 수 없다. open class Parent{ // 기반 클래스 } class Child : Parent() { // 최종 클래스 } 위와 같은 형식을 띄고 있다. 상속을 시키려는 클래스는 반드시 open 이라는 코드를 삽입하여야 한다. 다형성 다형성은 이름이 동일하지만 매개변수 형식이 다르던가 실행하는 코드가 다르게 가질 수 있는 것을 이야기 한다. 오버로딩(Overloading) = 실행하는 코드(동작)이 같지만 매개변수 형식이 다르다. 오버라이딩(Overriding) = 매개변수가 같지만 다른 동작으로 재정의..

[Kotlin] Class 생성자
Programming/Kotlin 2020. 3. 8. 00:30

코틀린에서의 생성자는 주 생성자와 부 생성자 크게 2가지로 분류한다. 부 생성자 부 생성자는 우리가 Java 에서 다뤘던 생성자와 같다. class Dog{ var size : Int = 0 var color : String = "" var age : Int = 0 var name : String = "" constructor(size:Int,color:String,age:Int,name:String){ this.size = size this.color = color this.age = age this.name = name } } 물론 Java와 같이 여러개의 생성자를 만들 수 있다. class Dog{ var size : Int var color : String var age : Int = 0 var ..

[Kotlin] 예외처리
Programming/Kotlin 2020. 3. 7. 04:10

코틀린의 예외처리는 크게 3가지로 나뉜다. try / catch / finally / throw try try는 예외사항이 발생 할 것 같은 곳에 코드를 넣는 블럭이다. catch catch는 try 블럭에서 발생한 예외를 처리하는 부분이다. fianlly fianlly는 try ~ catch 가 실행 된후 반드시 실행되는 부분이다. throw throw는 디버깅에서의 예외처리가 아닌 사용자가 직접 예외처리를 할 때 쓰는 코드이다. fun main() { var amount = 600 try { amount -= 100 checkAmount(amount) }catch (e :Exception){ println(e.message) } println("amount = $amount") } fun checkA..