일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- Spring
- Leetcode
- 자바스크립트
- 구글로그인
- kotlin 클래스
- 스프링
- SQL
- SQL 문제풀이
- 프로그래머스
- spring boot
- oracle
- 스프링시큐리티
- 자바8
- MSA
- springboot
- SQL프로그래머스
- 스프링부트
- 오라클
- java8
- pygame
- 파이게임
- mysql
- js
- python
- oauth2
- LeetCode SQL
- 자바 스트림
- 스프링부트 채팅서버
- javascript
- 코틀린 클래스
Archives
- Today
- Total
웅겹살의 프로그래밍 삼매경
[kotlin] 코틀린 클래스 생성자 본문
728x90
생성자란?
새로운 인스턴스를 만들기 위해 호출하는 특수한 함수
생성자를 호출하면 클래스의 인스턴스를 만들어 반환받을 수 있다
생성자의 기능?
인스턴스의 속성을 초기화
인스턴스 생성시 구문을 init함수를 통해 수행 가능
init 함수는 파라미터나 반환형이 없는 특수한 함수, 생성자를 통해 인스턴스가 만들어 질 때 호출되는 함수
fun main() {
// 인스턴스 생성
var a = Person("방실이", 1966)
var b = Person("나훈아", 1988)
var c = Person("임영웅", 1991)
}
class Person(var name:String, val birthYear:Int){
// init함수
init {
println("안녕하세요, ${this.birthYear}년생 ${this.name} 입니다")
}
}
보조생성자
기본 생성자와 다른 형태의 생성자를 제공하여 인스턴스 생성시 편의를 제공하거나 추가적인 구문을 수행하는 기능을 제공하는 역할
fun main() {
// 인스턴스 생성
var a = Person("방실이", 1966)
var b = Person("나훈아", 1988)
var c = Person("임영웅", 1991)
var d = Person("아이유")
var e = Person("최배달")
var f = Person("시라소니")
}
class Person(var name:String, val birthYear:Int){
// init함수
init {
println("안녕하세요, ${this.birthYear}년생 ${this.name} 입니다")
}
// 보조생성자를 만들 때는 반드시 기본생성자를 통해 속성을 초기화 시켜줘야한다
// 보조생성자가 기본생성자를 호출하게 할려면 콜론 : 붙인 후 this(기본생성자라 필요로하는 파라미터)
// name은 받은 그대로사용하고 birthYear를 1997로 고정하여 초기화하는 예제
constructor(name:String): this(name, 1997){
println("보조생성자 수행 성공")
}
}
728x90
'코틀린' 카테고리의 다른 글
[kotlin] 코틀린 클래스의 상속 (0) | 2021.09.12 |
---|---|
[kotlin] 코틀린 클래스 기본구조 (3) | 2021.09.08 |
[kotlin] 코틀린 반복문 (0) | 2021.09.07 |
[kotlin] 코틀린 조건문 비교연산자 (2) | 2021.09.06 |
[kotlin] 코틀린 함수 (0) | 2021.08.18 |
Comments