메소드 설계
코틀린의 메소드 기본 구조
fun 메소드이름(변수명:자료형, 변수명:자료형 ....) : 반환자료형 {
소스코드 로직
}
클래스 설계
클래스
정보(Property) 와 행위(Method)를 포함한다.
데이터 클래스 (data class)
data class 클래스이름 {
정보1
정보2
}
정보(Property)만 가지는 클래스 + 유용한 메소드 자동생성
실드 클래스 (sealed class)
sealed class 부모클래스 {
class 자식클래스1 : 부모클래스생성자
class 자식클래스1 : 부모클래스생성자
}
클래스 상속과 관련된 개념 + 상속받을 수 있는 자식클래스를 미리 정의 + 무분별한 상속방지 + 컴파일 시점에 생성가능 자식 알 수 있기에 효율적으로 다형성을 구현한다.
오브젝트 클래스 (object class)
Java의 static 대신 사용하는 키워드
프로그램을 실행하는 동시에 인스턴스화한다.
생성자 (Constructor)
init 주 생성자 사용예시 -> 반드시 하나의 형태 _name, _hairColor, _height 만을 사용하는 형태라면 사용
class Character(_name:String, _hairColor:String, _height:Double){
//매개변수를 직접 넘기지 않는다.
init {
this.name = _name
this.hairColor = _hairColor
this.height = _height
}
}
constructor 부 생성자 사용예시 -> 여러 형태의 생성자 사용 가능 _name || _hairColor || _height
class Character {
// 명시적 생성자 (Constructor)
constructor(_name:String, _hairColor:String, _height:Double) {
name = _name
hairColor = _hairColor
height = _height
}
constructor(_name:String, _hairColor:String) {
}
constructor(_name:String, _hairColor:String, _weight:Double) {
}
}