Kotlin의 기본적인 문법 요소들을 간략하게 설명하고 있습니다.
각 항목은 Kotlin 프로그래밍의 기초를 이해하는 데 중요한 개념들을 포함하고 있습니다.
아래 문서는 kotlinlang.org 공식 홈페이지를 참조합니다.
- 패키지와 imports
- 패키지 선언은 파일 최상단에 위치
- 디렉토리와 패키지 구조 일치 불필요
- 프로그램 시작점
- main() 함수가 진입점
- 인자를 받는 main() 함수도 가능
- 입출력
- print()와 println()으로 출력
- readln()으로 사용자 입력 받기
- 함수
- 파라미터와 반환 타입 지정 가능
- 단일 표현식 함수 지원
- Unit은 반환값 없음을 의미 (생략 가능)
- 변수
- val: 읽기 전용 변수
- var: 수정 가능한 변수
- 타입 추론 지원
- 초기화 후 사용 가능
- 최상위 레벨 변수 선언 가능
- 클래스와 인스턴스
- class 키워드로 클래스 정의
- 생성자 파라미터로 속성 선언 가능
- 상속은 콜론(:)으로 표시
- open 키워드로 상속 가능 클래스 지정
- 주석
- 한 줄 주석 (//)
- 여러 줄 주석 (/* */)
- 중첩 주석 지원
패키지 정의 및 imports
패키지 명세는 소스 파일의 최상단에 위치해야 합니다.
package my.demo
import kotlin.text.*
// ...
디렉토리와 패키지를 일치시킬 필요는 없습니다: 소스 파일은 파일 시스템 내 어디에나 위치할 수 있습니다.
프로그램 시작
Kotlin 애플리케이션의 진입점은 main 함수입니다
fun main() {
println("Hello world!")
}
main의 다른 형태는 가변 개수의 String 인자를 받습니다
fun main(args: Array<String>) {
println(args.contentToString())
}
표준 출력에 출력하기
print는 인자를 표준 출력에 출력합니다
print("Hello ")
print("world!")
println은 인자를 출력하고 줄 바꿈을 추가하여, 다음에 출력할 내용이 새 줄에 나타나게 합니다
println("Hello world!")
println(42)
표준 입력에서 읽기
readln() 함수는 표준 입력에서 읽습니다. 이 함수는 사용자가 입력한 전체 줄을 문자열로 읽습니다.
println(), readln(), print() 함수를 함께 사용하여 사용자 입력을 요청하고 표시하는 메시지를 출력할 수 있습니다
// 입력을 요청하는 메시지 출력
println("Enter any word: ")
// 사용자 입력을 읽고 저장. 예: Happiness
val yourWord = readln()
// 입력과 함께 메시지 출력
print("You entered the word: ")
print(yourWord)
// You entered the word: Happiness
함수
두 개의 Int 매개변수와 Int 반환 타입을 가진 함수
fun sum(a: Int, b: Int): Int {
return a + b
}
함수 본문은 표현식이 될 수 있습니다. 이 경우 반환 타입은 추론됩니다
fun sum(a: Int, b: Int) = a + b
의미 있는 값을 반환하지 않는 함수
fun printSum(a: Int, b: Int): Unit {
println("sum of $a and $b is ${a + b}")
}
Unit 반환 타입은 생략할 수 있습니다
fun printSum(a: Int, b: Int) {
println("sum of $a and $b is ${a + b}")
}
변수
Kotlin에서는 val 또는 var 키워드로 시작하여 변수 이름을 따라 변수를 선언합니다.
val 키워드를 사용하여 한 번만 값이 할당되는 변수를 선언합니다. 이는 불변의, 읽기 전용 지역 변수로, 초기화 후 다른 값을 재할당할 수 없습니다
// 변수 x를 선언하고 값 5로 초기화
val x: Int = 5
// 5
var 키워드를 사용하여 재할당할 수 있는 변수를 선언합니다. 이는 가변 변수로, 초기화 후 값을 변경할 수 있습니다
// 변수 x를 선언하고 값 5로 초기화
var x: Int = 5
// 변수 x에 새 값 6을 재할당
x += 1
// 6
Kotlin은 타입 추론을 지원하며 선언된 변수의 데이터 타입을 자동으로 식별합니다. 변수를 선언할 때 변수 이름 뒤의 타입을 생략할 수 있습니다
// 값 5로 변수 x를 선언; `Int` 타입이 추론됨
val x = 5
// 5
변수는 초기화 후에만 사용할 수 있습니다. 선언 시점에 변수를 초기화하거나 먼저 변수를 선언한 후 나중에 초기화할 수 있습니다. 두 번째 경우에는 데이터 타입을 지정해야 합니다
// 선언 시점에 변수 x를 초기화; 타입은 필요하지 않음
val x = 5
// 초기화 없이 변수 c를 선언; 타입 필요
val c: Int
// 선언 후 변수 c를 초기화
c = 3
// 5
// 3
최상위 레벨에서 변수를 선언할 수 있습니다
val PI = 3.14
var x = 0
fun incrementX() {
x += 1
}
// x = 0; PI = 3.14
// incrementX()
// x = 1; PI = 3.14
클래스 및 인스턴스 생성
클래스를 정의하려면 class 키워드를 사용합니다
class Shape
클래스의 속성은 선언이나 본문에 나열할 수 있습니다
class Rectangle(val height: Double, val length: Double) {
val perimeter = (height + length) * 2
}
클래스 선언에 나열된 매개변수를 가진 기본 생성자는 자동으로 사용 가능합니다
class Rectangle(val height: Double, val length: Double) {
val perimeter = (height + length) * 2
}
fun main() {
val rectangle = Rectangle(5.0, 2.0)
println("The perimeter is ${rectangle.perimeter}")
}
클래스 간의 상속은 콜론(:)으로 선언됩니다. 클래스는 기본적으로 final입니다; 클래스를 상속 가능하게 만들려면 open으로 표시해야 합니다
open class Shape
class Rectangle(val height: Double, val length: Double): Shape() {
val perimeter = (height + length) * 2
}
주석
대부분의 현대 언어와 마찬가지로 Kotlin은 한 줄(또는 행 끝) 주석과 여러 줄(블록) 주석을 지원합니다
// 이것은 행 끝 주석입니다
/* 이것은 여러 줄에 걸친
블록 주석입니다. */
Kotlin의 블록 주석은 중첩될 수 있습니다
/* 주석이 여기서 시작합니다
/* 중첩된 주석을 포함합니다 */
그리고 여기서 끝납니다. */
'개발&프로그래밍' 카테고리의 다른 글
[kotlin] 자주 사용되는 관용구(idiom) 모음 (0) | 2024.08.09 |
---|---|
[kotlin] 입문시 알아야 할 8가지 핵심 문법 (0) | 2024.08.07 |
IntelliJ(2023.3.4 버전)에서 항상 파일경로 보이게 설정하기 (0) | 2024.02.20 |
IntelliJ에서 콘솔 로그 출력 사이즈 늘리기 (0) | 2024.02.19 |
컨테이너 인프라 환경을 지원하는 도구 - 쿠버네티스 Kubenetes (0) | 2022.05.21 |
댓글