Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 오버라이드
- parcel
- 시큐어코딩
- 안드로이드
- sub query
- Android
- 쿠키
- java
- 왕초보
- kotlin
- 숫자
- Spinner
- degit
- java#왕초보
- 답글
- 미니게임
- SQL
- snowpack
- 게시판
- FIle
- git
- 스프링
- 스타일보험
- React
- 상속
- Spring
- 코틀린
- 함수
- 버전일치
- webpack
Archives
- Today
- Total
YSHUSH
접근지정자 본문
상속
open class Person{
val firstName:String = ""
val lastName:String = ""
private var age:Int = 24
protected var protectVar:Int = 12
internal var interVar:Int = 20 // internal은 패키지가 다르면 접근이 안됨
/*
constructor(firstName: String, lastName:String, age:Int) {
this.firstName = firstName
this.lastName = lastName
this.age = age
}
*/
private fun privateFunc(){
}
override fun toString(): String {
privateFunc()
return "Person(firstName='$firstName', lastName='$lastName', age=$age)"
}
}
상속관계의 클래스가 있을 경우 상속를 하는 클래스 앞에 open을 붙여주어야 한다.
protected : 상속받은 클래스 내에서만 접근가능
internal : 같은 패키지 내에서 접근 가능
class Human:Person(){
fun method(){
protectVar = 23
println(protectVar)
interVar = 21
println(interVar)
}
}
함수호출부
fun main(args: Array<String>) {
val human = Human()
human.method()
// human.protectVar = 25 -> 안됨
human.interVar = 22
}
property선언 + constructor
class Bird(var name: String, var wing: Int, val color: String){ // 외부 초기화
var vol:Int = 23 // 이렇게 쓰면 안되지만 이렇게도 property를 추가할 수 있다
fun fly() = println("Fly Wing: $wing")
override fun toString(): String {
return "Bird(name='$name', wing=$wing, color='$color')"
}
}
내부초기화
class MyClass{
var number:Int
init { // init -> 내부 초기화
number = 123
println(number)
}
}
함수호출부
fun main(args: Array<String>) {
val bird = Bird("나이팅게일", 2, "blue")
println(bird.toString())
val mycls = MyClass()
mycls.number = 234
}
'Coding > Kotlin' 카테고리의 다른 글
Getter & Setter (0) | 2022.01.26 |
---|---|
보조 생성자 (0) | 2022.01.26 |
클래스 (0) | 2022.01.26 |
함수 파라미터 (0) | 2022.01.26 |
Default parameters(기본인수) (0) | 2022.01.25 |