1.상속(inheritance)
1)의미:클래스 선언시 다른 클래스를 참조해 선언
2)형태:
<1>상위 클래스 오픈: open class Super{} //super란 클래스를 상속할 수 있게 오픈함
<2>상속: class Sub: Super(){} //sub란 클래스가 super를 상속받음
=>이떄 super는 상위클래스, sub는 하위 클래스
<3>매개변수가 있는 경우는 Super()에 적어줘야함
ex)class Sun(name: String): Super(name){}
<4>하위 클래스에 보조생성자만 있는경우:보조 생성자에 매개변수전달
ex)class Sub: Super{ constructor(name:String):super(name){}}
3)오버라이딩:상속받은 클래스의 멤버를 재정의할 수 있음
<1>open:재정의 하기 위해서는 해당 멤버를 상위클래스에서 우선 open해줘야함.
=>open var someData = 10
<2>override:하위 클래스에서 재정의
=>override var someData= 20
2. 접근 제한자
1)사용: 최상위와 클래스 멤버에서 사용가능
2)기본: 생략시 기본은 public임
3)종류
접근제한자 | 최상위에서 사용 | 클래스 멤버에 사용 |
public | 모든 파일에서 사용가능 | 모든 클래스에서 사용가능 |
internal | 같은 모듈에서 사용가능 | 같은 모듈에서 사용가능 |
protected | 사용 불가 | 상속 관계 하위클래스에서 사용가능 |
private | 파일 내부에서 사용가능 | 클래스 내부에서 사용가능 |
@여기서 같은 모듈은 프로젝트 내부에서 사용가능함을 뜻함
'코틀린-안드로이드' 카테고리의 다른 글
6일차)알고리즘 문제(문자열 나누기) (0) | 2024.05.28 |
---|---|
5일차)알고리즘 문제(체육복,숫자짝꿍), 코틀린 문법 (0) | 2024.05.27 |
3일차) 코틀린 문법-3 (0) | 2024.04.05 |
2일차)코틀린 문법-2 (0) | 2024.04.04 |
1일차)코틀린 문법-1 (0) | 2024.03.28 |