세상을 더 편리하게
[Kotlin] 인터페이스
Programming/Kotlin 2020. 3. 14. 13:57

인터페이스 코틀린의 인터페이스는 다음과 같은 특징을 갖고 있다. 다른 객체 지향 언어와는 다르게 메서드에 구현 내용이 포함 될 수 있다. 프로퍼티를 선언 할 수 있지만 정의할 수 없다. 추상 메소드와 일반 메소드 두 종류 구현이 가능하다. interface Pet { var category: String fun feeding() // 추상 메소드 fun patting() { //일반 메소드 println("Keep patting") } } class Cat(override var category: String) : Pet { override fun feeding() { println("Feed the cat a tuna can!") } } fun main() { val obj = Cat("small") ..

[Kotlin] 추상 클래스
Programming/Kotlin 2020. 3. 14. 12:55

추상 클래스 코틀린에서의 추상클래스는 자바와 같이 독립적인 객체 생성이 불가능하다. abstract class Vehicle(val name: String, val color: String, val weight: Double) { abstract var maxSpeed: Double var year = 2020 abstract fun start() abstract fun stop() fun displaySpecs() { println("Name $name ,Color $color, Weight : $weight, Year, $year, Max Speed : $maxSpeed") } } 위의 코드블럭에서 보면 abstract 로 나와있는 매소드나 프로퍼티는 반드시 하위클래스(자식)에서 override를 이..

[Kotlin] Object 선언(싱글톤)과 Object 표현식
Programming/Kotlin 2020. 3. 14. 02:06

Object 선언 [ 싱글톤 ] object OCustomer { var name = "Kildong" fun greeting() = println("Hello World") val HOBBY = Hobby("BasketBall") init { println("Init Object") } } class CCustomer{ companion object{ const val HELLO = "Hello" var name = "Joosol" val HOBBY = Hobby("FootBall") fun gretting() = println("I'm Kotlin") } } class Hobby(val name:String) fun main() { OCustomer.greeting() OCustomer.name = ..

[Kotlin] 최상위 함수
Programming/Kotlin 2020. 3. 14. 00:06

최상위 함수 코틀린은 다른 언어와는 다르게 최상위 함수라는 것이 존재한다. 최상위 함수는 Class 나 따른 fun 안에 있는 것이 아닌 가장 밖에 있는 fun 값을 의미 한다. // src\Kot.kt fun test() { println("This is 최상위 함수") } // src\testpackage.packagetest package testpackage fun inpackagefun(){ println("Package Function") } // src\Kot2.kt import testpackage.inpackagefun fun main() { test() inpackagefun() } 위의 3개의 코드블럭을 보면 Kot.kt 와 Kot2.kt 는 같은 패키지에 묶여있고 2번째 코드블럭인 ..