[Kotlin] 접근 제한자

PUJIN·2023년 6월 10일
0
post-thumbnail

변수나 메서드의 접근 권한 설정

  • 객체의 변수는 '. 연산자'를 통해 자유롭게 접근 가능



클래스


  • private : 외부에서 객체 생성 불가능
  • public : 외부에서 객체 생성 가능 (기본)
  • protected : 클래스에 설정 불가능
  • internal : 모듈이 같을 경우에만 객체 생성 가능
    * 같은 모듈인 경우 : internal = public

* 생략시 public으로 설정

class BasicClass {
    // ...
}
public class BasicClass {
    // ...
}



변수, 메서드


  • private : 외부에서 접근 불가능
  • public : 외부에서 자유롭게 접근 가능 (기본)
  • protected : 상속관계일 경우에만 접근 가능
  • internal : 모듈이 같을 경우에만 접근 가능
    * 같은 모듈인 경우 : internal = public

* 생략시 public으로 설정

  • 메서드
fun basicMethod() {
    // ...
}
public void basicMethod() {
    // ...
}

(java로 변경시)

* 모든 변수는 private로 설정 → 접근제한자 종류에 따라 getter/setter에 대한 설정

  • 접근제한자 private는 getter/setter 생성 X

  • 멤버 변수
    • kotlin
// kotlin code
private var a1 = 100
public var a2 = 200
protected var a3 = 300
internal var a4 = 400
// convert kotlin to java code
private int a1 = 100;
private int a2 = 200;
private int a3 = 300;
private int a4 = 400;

public final int getA2() {
	return this.a2;
}

public final void setA2(int var1) {
	this.a2 = var1;
}

protected final int getA3() {
	return this.a3;
}

protected final void setA3(int var1) {
	this.a3 = var1;
}

public final int getA4$Kotlin17_AccessModifier() {
	return this.a4;
}

public final void setA4$Kotlin17_AccessModifier(int var1) {
	this.a4 = var1;
}

0개의 댓글