티스토리 뷰
접근제한자 |
클래스 멤버일 경우 |
최상위 수준으로 선언 되었을 경우 |
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
- 오버라이딩
- inheritance
- 리액트
- 함수
- 자바
- 코틀린
- nestjs socket connection
- JVM
- react
- 클래스
- Unity2D
- 유니티
- 유니티 게임개발
- Transform
- 유니티 게임 개발
- 자바스크립트
- Java
- Kotlin
- 유니티 캐릭터
- 유니티 개발
- 유니티 실습
- 리눅스
- nest
- Linux
- nest js
- JavaScript
- Unity
- 상속
- object
- 유니티 플레이어 캐릭터
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |