본문 바로가기
  • Sunnny-Dev
개발/안드로이드 스튜디오

[안드로이드 코틀린] 코틀린 문법-클래스1(작성)

by sunny- 2021. 10. 11.

클래스 기본 구조

class 클래스명{
	var 변수
    fun 함수(){
    	~~
    }
}

클래스 생성자

작성된 클래스를 사용하기 위해서는 생성자(함수)가 호출되어야 함.

생성자가 호출 -> init 블록 실행(생성자를 통해 넘어온 파라미터를 초기화, 초기화 작업이 필요 없으면 파라미터 앞에 val 붙여줌)

**val을 붙여주면 클래스 안에서 해당 파라미터를 사용 가능(읽기 전용)

프라이머리 생성자

클래스 헤더처럼 사용 가능. constructor 키워드를 사용(경우에 따라 생략 가능). 파라미터 사용 가능.

class 클래스명 프라이머리 생성자(){
	var 변수
    fun 함수(){
    	~~
    }
}
class Students constructor(value:String){
}

class Students (value:String){//생성자에 접근 제한자나 다른 옵션이 없으면 constructor 생략 가능
}

세컨더리 생성자

constructor키워드를 함수처럼 클래스 안에 직접 작성 가능.

init 블록을 작성하지 않고 constructor다음에 괄호로 코드를 작성할 수 있다.

class Students {
	constructor(value: String){//init부분
    	~~~
    }
    constructor(value2: Int, value2: char){//파라미터 타입이 다르면 여러개 중복으로 작성 가능
    	~~~
    }
    
}

default 생성자

생성자가 없는 경우, 파라미터가 없는 프라이머리 생성자가 하나 있는 것과 동일. 

생성자를 작성하지 않아도 기본 생성자가 동작함

class Students{//기본 생성자가 동작함
	init{
    //초기화 가능
    }
}

댓글