heylo 2025. 1. 24. 17:15

 

참고) 맥에서 Dock 고정하기

적용 방법

  1. 응용 프로그램 > 유틸리티 폴더에서 터미널 앱(Terminal.app)을 실행합니다.
  2. 아래 명령어를 입력합니다.

defaults write com.apple.dock autohide-fullscreen-delayed -bool FALSE;killall Dock

  1. 이제 아무 프로그램이나 전체 화면 모드로 실행 중인 상태에서 화면 최하단으로 마우스 커서를 옮겨보세요. 한번에 스스륵 닥이 나타납니다.

 

1) Hello World 출력해보기

프로그래밍 언어 처음 배울 때 국룰

package com.example.kotlin

fun main() {
    // 자바에서는 System.println()
    println("Hello World!")
    test()
}

 

2) 함수

package com.example.kotlin

fun main() {
    test()
}

fun test() {
    println("test")
}

자바에서 함수를 만들 때는,

이름/리턴타입 test void() {

 

}

 

코틀린에는 항상 "리턴타입" 존재

자바에서의 void와 코틀린에서의 Unit은 같다.

Redundant 하다 = Unit 형은 생략 가능

리턴타입이 Int 인 함수

 

fun main() {
    val result = test(1,2)
    println(result)
}

fun test(a: Int, b: Int) : Int {
    println(a+b)
    return a+b
}

 

 

자바에서는 아래와 같이 "오버로딩"을 많이했었지만

void test(a:Int) : Int {
    val b = 3
		println(a+b)
    return a+b
}

 

 

코틀린에서는 “오버로딩”을 할 필요가 없다

fun test(a:Int, b:Int = 3) : Int {
    println(a+b)
    return a+b
}

 

 

코드 간결성

fun main() {
    val result = test(1, b=10)
    println(result)
}

b에 default value를 부여했더라도 함수 호출 시 b를 명시적으로 재지정할 수 있음

이렇게 명시해주면 argument (paremeter) 순서를 고려할 필요도 없음

 

 

fun test2(name: String, nickname: String, id: String){
    println(name + nickname + id)
}
fun main() {
    val result = test2("주연", "주님", "joo")
    println(result)
}

fun test2(name: String, nickname: String, id: String) = println(name + nickname + id)

리턴값이 없는 내부에 코드가 한 줄인 함수는 '=' 을 이용하여 코드 간결하게 수정 가능

Single Expression ( 단위 표현식)

 

 

fun times(a: Int, b:Int,): Int = a * b

변수가 추가될 가능성을 염두에 두고 , (콤마)를 추가하면

이러한 trailing comma 가 있어도, 컴파일 에러가 발생하지 않는다.