Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- IntelliJ
- Python
- ruby2d
- Spring
- Java
- gnuplot
- boj
- gradle
- CPP
- GitHub
- Vane
- 개발노트
- Baekjoon
- Android
- ruby
- plugin
- maven
- rubymine
- jetbrains
- RaspberryPi
- C
- kotlin
- OTLanguage
- Shell
- OAuth
- error
- JS
- react
- 루비
- Godot
Archives
- Today
- Total
PersesTitan(페르) 기술블로그
[Kotlin] 코틀린 기초 - 클래스 및 생성자 (constructor) 본문
인스턴스화
코틀린은 자바에서 사용하는 new 키워드를 사용하지 않는 특징이 존재합니다.
코틀린은 new키워드가 애초에 예약어로 잡혀있지 않은데 new키워드를 사용하지 않고 클래스명에다가 매개변수만 넘겨주면 인스턴스화를 할 수 있습니다.
Java
Test test = new Test();
Kotlin
val test: Test = Test()
주 생성자 (Primary Constructor)
주 생성자는 클래스 명 바로 옆에다가 선언하는데 해당 생성자를 주 생성자라고 부릅니다. 주 생성자는 constructor를 붙쳐 선언하는데 생략이 가능하기도 합니다.
- 예제
class Test constructor(a: Int, b: String) {
}
- constructor (생략한 경우)
class Test(a: Int, b: String) {
}
단, 아래와 같이 주 생성자에 접근제어자를 넣을 경우 constructor를 생략이 불가능합니다.
class Test internal constructor(a: Int, b: String) {
}
주 생성자가 없는 경우
주 생성자가 없는 경우 아무 것도 작성하지 않아도 됩니다.
class Test {
}
변수 바로 선언하기
코틀린에서 매개변수에는 앞에 변수를 선언을 바로 사용이 가능합니다.
해당 방법을 사용하여 보다 코드를 간결하게 사용이 가능해집니다.
- 보통 클래스 변수 초기화하는 방법
class Test(a: Int, b: String) {
private val a: Int = a
private val b: String = b
}
- 변수 바로 선언하는 방법
class Test(private val a: Int, private val b: String) {
}
보조 생성자
코틀린에서는 보조 생성자를 사용하여 자바의 생성자처럼 오버로딩으로 매개변수 값을 달리하여 여려 종류를 정의할 수 있습니다.
자바에서와는 다르게 클래스명 대신 constructor를 사용하여 보조생성자를 정의하는 특징이 존재합니다.
class Test {
constructor() {
println("Hello World")
}
constructor(count: Int) {
println("Hello World $count")
}
}
fun main() {
Test()
Test(10)
}
// 출력
// Hello World
// Hello World 10
보조 생성자 응용 예제
위에 방식을 응용하여 다음과 같이 응용하여 사용할 수 있습니다.
참고로 생성자에서 생성자를 불러올때는 콜론(:)를 사용하여 불러올 수 있습니다.
class Test {
constructor(): this("Hello")
constructor(text: String) {
println(text)
}
}
fun main() {
Test()
Test("World")
}
// 출력
// Hello
// World
'Language > Kotlin' 카테고리의 다른 글
[Kotlin] 코틀린 기초 - 변수 정의 (var, val, lateinit) (0) | 2023.10.11 |
---|---|
[Kotlin] 코틀린 기초 - 생성자 순서 (주 생성자, init, 보조 생성자) (0) | 2023.10.10 |
[Kotlin] 코틀린 기초 - 접근제어자 (0) | 2023.10.08 |
[Kotlin] apply, also, run, with, let 정리 (0) | 2023.09.16 |