• Kotlin 연산자 오버로딩과 관례

    산술 연산자 오버로딩 자바는 원시 타입에 대해서만 산술 연산자를 정의할 수 있고, 추가적으로 String에 대해 + 연산자 사용이 가능하다. 다른 클래스에서도 유용한 경우가 있을 수 있으며 코틀린은 산술 연산자 오버라이딩을 통해 제공한다
  • Kotlin Type System

    코틀린 타입 시스템
  • Kotlin 클래스

    클래스 계층 정의 인터페이스 코틀린 인터페이스 안에는 추상 메서드뿐 아니라 구현이 있는 메서드도 정의할 수 있다. 상태(필드)는 들어갈 수 없다. //인터페이스 정의 interface Clickable { fun click() } //인터페이스 구현 class Button : Clickable { //코틀린은 클래스 확장과 인터페이스 구현 모두 콜론(:)을 붙인다. //오버라이드 표시 override fun click() = println("I was clicked") } 자바와 마찬가지로 인터페이스는 개수 제한없이 마음대로 구현할 수 있지만, 클래스는 오직 하나만 확장할 수 있다. 상위 클래스에 있는 메서드와 시그니처가 같은 메서드를 우연히 하위 클래스에 선언하는 경우, 컴파일이 안 되기 때문에 override를 붙이거나 메서드 이름을 바꿔야 한다. 예시 interface Clickable { fun click() fun showOff() = println("I'm clickable!") //디폴트 구현 정의 } interface Focusable { fun setFocus(b: Boolean) = println("I ${if (b) "got" else "lost"} focus.") fun showOff() = println("I'm focusable!") } 클래스가 구현하는 두 상위 인터페이스에 정의된 showOff 구현을 대체할 오버라이딩 메서드를 직접 제공하지 않으면 컴파일 오류가 발생한다. 이름과 시그니처가 같은 멤버 메서드에 대해 둘 이상의 디폴트 구현이 있는 경우, 인터페이스를 구현하는 하위 클래스에서 명시적으로 새로운 구현을 제공해야 한다. ```kotlin class Button : Clickable, Focusable { override fun click() = println(“I was clicked”)
  • Kotlin 함수

    함수
  • Kotlin 기초

    코틀린이란 무엇이며 왜 필요한가
  • Netty. Network Protocol(feat. Netty in action)

    chap12. 웹소켓
  • Netty. Codec(feat. Netty in action)

    chap 10. 코덱 프레임워크
  • Spring Batch

    Spring Batch
  • Spring Boot 와 MongoDB 연동

    Spring Boot에 MonboDB 연동
  • Mongodb 운영 및 개발

    백업/복구