HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
📝
남득윤 학습 저장소
/
humancoding
humancoding
/
1️⃣
section 1 : 코틀린 개요
1️⃣

section 1 : 코틀린 개요

 
 
notion image
Better Language than Java
 

코틀린 이란?

  • statically typed programming language for modern multi-platform applications
  • 100% interoperable with Java and Android by JetBrains, since 2011
 

코틀린의 장점

  • JVM 100% 호환성 및 안정된 성능
  • 보다 안전하고 직관적인 데이터 처리 (NPE, data/ enum/ sealed, object …)
  • 강력한 확장성을 가진 모던 프로그래밍 언어 (extensions, delegation, HOF, …)
  • 직관적이고 사용하기 편한 DSL (Domain Specific language)
  • 멀티 플랫폼 JVM, Native, Web(JS)
  • 다양한 IDE 및 프레임 워크
  • 객체 지향 프로그래밍 + 함수형 프로그래밍의 멀티 패러다임
  • 간결하면서도 생산성 있는 코딩
 

코틀린 빌드

  • create and edit *.kt text source file
  • compile and build to *Kt.class bytecode
  • running *Kt.class using JVM
일반적으로 코틀린은 클래스가 파일 단위와 일치 하지 않음
일반적으로 코틀린은 클래스가 파일 단위와 일치 하지 않음
 

fun main() { printTen() helloWorld() printABCDE() } fun printTen() { println("3+7 = ${3 + 7}") } fun helloWorld() { println("Hello World!") } fun printABCDE() { "abcde".map{ it.uppercaseChar()}.forEach(::println) }
 
 

Greeting Project


fun main(args: Array<String>) { val greeting = Greeting("득윤", "안녕하세요") greeting.sayHello() greeting.sayHello("해피") val defaultGreeting = Greeting() defaultGreeting.sayHello() val hi = Greeting(to = "John") hi.sayHello() val bye = Greeting(msg= "하하하") //인자 지정해주기 bye.sayHello() }
main.main
package message class Greeting(val to: String = "밥", val msg: String = "반가워!") { //기본 값 init { println("init Greeting with") println("to = $to, msg = $msg") //문자열 템플릿 } fun sayHello() { sayHello(to) //내부 함수 호출 } fun sayHello(name : String) { //오버 로딩 println() println("Hi $name, $msg!") } }
message.Greeting