티스토리 뷰
Kotlin에서 클래스를 생성하려면 기본적으로는 Java와 똑같으나, 생성자를 만드는 방법은 다르다. Java에서는 클래스와 같은 이름의 method를 만들어서 생성자를 만들었으나, 코틀린에서는 init이라는 기본 생성자 함수와 constructor라는 보조 생성자 함수를 통해서 생성자를 만들 수 있다. 즉, 어떻게 보면 생성자를 만드는 방법은 Kotlin이 더 다양한 것이다. 아래의 예제를 보자.
출처: 테크과학! DiMo
fun main(args: Array<String>) {
var a = Person("박보영", 1990)
var b = Person("전정국", 1997)
var c = Person("장원영", 2004)
var d = Person("이루다")
var e = Person("차은우")
var f = Person("류수정")
}
class Person(var name: String, val birthYear: Int) {
init {
println("${this.name}, ${this.birthYear}")
}
constructor(name: String) : this(name, 1997) {
println("보조 생성자가 실행되었습니다.")
}
}
기본 생성자를 통해 만드는 경우 별도의 지정 없이 init
을 넣어주면 된다. 하지만, constructor
의 경우 생성할 변수를 넣어주고 꼭 콜론 : this()
를 통해 생성해야한다. 이렇게 지정하는 이유는 보조 생성자를 만들 때는 기본 생성자를 통해 반드시 속성을 초기화
해주어야 하기 때문이며, 보조 생성자가 기본 생성자를 호출해야 하기 때문이다. 이때 this라는 키워드를 사용한다. 그리고 기본 생성자가 필요로 하는 파라미터를 괄호 안에 넣어
주면 된다.(클래스를 만들 때 작성한 속성)
즉 기본 생성자와 보조 생성자는 다양한 방법으로 인스턴스를 생성하도록 사용자들에게 편의를 제공하는 기능인 것이다.
'Android > Kotlin' 카테고리의 다른 글
[Kotlin] 클래스의 다형성 (0) | 2021.12.07 |
---|---|
[kotlin] 변수, 함수, 클래스의 접근범위와 접근제한자 (0) | 2021.12.06 |
[Kotlin] Kotlin의 기본 프로젝트 구조 (0) | 2021.12.06 |
[Kotlin] 오버라이딩과 추상화 (0) | 2021.12.06 |
[Kotlin] 상속 (0) | 2021.12.05 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 알고리즘
- Kotlin
- 카카오
- Programmers #알고리즘 #Python #KAKAOINTERNSHIP #비전공개발자 #불량사용자
- 일반파라미터
- 비전공개발자
- DP
- 중첩클래스와 내부클래스
- 생성자
- 보조생성자
- 프로그래머스
- 구간 합 구하기 4
- Java #객체지향 #상속 #생성자 #개념 #비전공개발자 #FullStack을 #향해
- 백준 #숨박꼭질3 #다익스트라 #알고리즘 #비전공개발자 #풀스택 #웹개발 #앱개발 #안드로이드 #python
- 기본생성자
- 앱개발
- kotlin문법
- 프로젝트구조
- Class
- Java
- 참조연산자
- 싸피5기
- 안드로이드
- 안드로이드 #안드로이드스튜디오 #Kotlin #앱개발 #안드로이드기초 #비전공개발자 #풀스택개발자 #앱개발자
- 비전공싸피합격
- 추가합격후기
- 백준알고리즘 #BFS #델타이동 #알고리즘풀이 #개발 #안전영역 #풀스택개발자가되고싶습니다. #노력할래요 # 꾸준히 # 화이팅! #비전공개발자
- 코틀린
- Python
- 백준
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
글 보관함