티스토리 뷰

코틀린

#12 코틀린 접근제한자

림디 2019. 7. 23. 16:36

 

접근제한자

클래스 멤버일 경우

최상위 수준으로 선언 되었을 경우

public

어드서든 사용 가능

어드서든 사용 가능

protected

서브 클래스에서만 사용 가능

해당 없음

private

클래스 내부에서만 사용 가능

코틀린 파일 내부에서만 사용 가능

internal

같은 모듈에서만 사용 가능

같은 모듈에서만 사용가능

코틀린에서는 접근 제한자를 지정하지 않으면 기본적으로 public으로 간주

코틀린에서는 .kt 파일에 클래스, 변수, 함수를 정의하면 최상위 수준 변수/함수 라고 한다.

 

internal은 코틀린 특유의 접근제한자 이며, 같은 모듈내에서만 사용 가능함을 의미한다.

*모듈 : 두 개 이상의 코틀린 파일들이 같이 컴파일되어 생성되는 것 

 

접근 제한자

클래스에 사용할 경우

클래스 멤버에 사용할 경우

abstract

추상 클래스를 의미

함수에만 해당되며 실행코드가 없음

override

해당 없음

상위 클래스의 멤버를 오버라이딩함

final

서브 클래스를 만들 수 없음

상위 클래스 멤버를 오버라이딩할 수 없음

open

서브 클래스를 만들 수 있음

상위 클래스 멤버를 오버라이딩할 수 있음

 

클래스 선언 앞에 abstract를 사용하면 추상 클래스가 되며, 인스턴스를 생성할 수 없다.

abstract를 사용한 클래스에서 멤버 함수를 사용 할때, 대개는 구현 코드가 없는 함수를 사용한다. 하지만 구현 코드가 있는 멤버 함수도 같이 사용 할 수있다. 또한 abstract를 사용한 클래스의 멤버 함수는 기본적으로 open이다.

 

override는 서브 클래스에서 상위 클래스의 멤버 속성이나 멤버 함수를 오버라이딩 할 때 반드시 지정해야한다.

 

 

 

'코틀린' 카테고리의 다른 글

코틀린 object 사용방법 -1  (0) 2020.04.01
#13 코틀린 클래스 상속 멤버 오버라이딩  (0) 2019.07.23
#11 클래스 멤버 함수  (0) 2019.07.23
#10 코틀린 클래스  (0) 2019.07.21
#9 코틀린 함수  (0) 2019.07.18
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
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
글 보관함