package dev.hodol.sandbox.base
const val EVERYWHERE = "모든 파일에서 사용 가능"
public const val ALSO_EVERYWHERE = "Kotlin의 기본 접근제어자는 public"
private const val ONLY_IN_SAME_FILE = "같은 파일에서만 사용 가능"
internal const val ONLY_IN_SAME_MODULE = "같은 모듈에서만 사용 가능"
open class Visibility {
internal val onlyInSameModule = "같은 모듈에서만 사용 가능"
private fun onlyInSameClass() = "같은 클래스에서만 사용 가능"
protected fun onlyInInheritedClass() = "하위 클래스에서만 사용 가능"
}
같은 module이라 함은, 예를 들어 Gradle Multimodule 환경 등에서의 module을 말한다.
// Visibility.java
package dev.hodol.sandbox.base;
import kotlin.Metadata;
import org.jetbrains.annotations.NotNull;
@Metadata(
mv = {1, 4, 3},
bv = {1, 0, 3},
k = 1,
d1 = {"\u0000\u0014\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\u000e\n\u0002\b\u0005\b\u0016\u0018\u00002\u00020\u0001B\u0005¢\u0006\u0002\u0010\u0002J\b\u0010\u0007\u001a\u00020\u0004H\u0004J\b\u0010\b\u001a\u00020\u0004H\u0002R\u0014\u0010\u0003\u001a\u00020\u0004X\u0080D¢\u0006\b\n\u0000\u001a\u0004\b\u0005\u0010\u0006¨\u0006\t"},
d2 = {"Ldev/hodol/sandbox/base/Visibility;", "", "()V", "onlyInSameModule", "", "getOnlyInSameModule$sandbox_base", "()Ljava/lang/String;", "onlyInInheritedClass", "onlyInSameClass", "sandbox-base"}
)
public class Visibility {
@NotNull
private final String onlyInSameModule = "같은 모듈에서만 사용 가능";
@NotNull
public final String getOnlyInSameModule$sandbox_base() {
return this.onlyInSameModule;
}
private final String onlyInSameClass() {
return "같은 클래스에서만 사용 가능";
}
@NotNull
protected final String onlyInInheritedClass() {
return "하위 클래스에서만 사용 가능";
}
}
// VisibilityKt.java
package dev.hodol.sandbox.base;
import kotlin.Metadata;
import org.jetbrains.annotations.NotNull;
@Metadata(
mv = {1, 4, 3},
bv = {1, 0, 3},
k = 2,
d1 = {"\u0000\n\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0004\"\u000e\u0010\u0000\u001a\u00020\u0001X\u0086T¢\u0006\u0002\n\u0000\"\u000e\u0010\u0002\u001a\u00020\u0001X\u0086T¢\u0006\u0002\n\u0000\"\u000e\u0010\u0003\u001a\u00020\u0001X\u0082T¢\u0006\u0002\n\u0000\"\u000e\u0010\u0004\u001a\u00020\u0001X\u0080T¢\u0006\u0002\n\u0000¨\u0006\u0005"},
d2 = {"ALSO_EVERYWHERE", "", "EVERYWHERE", "ONLY_IN_SAME_FILE", "ONLY_IN_SAME_MODULE", "sandbox-base"}
)
public final class VisibilityKt {
@NotNull
public static final String EVERYWHERE = "모든 파일에서 사용 가능";
@NotNull
public static final String ALSO_EVERYWHERE = "Kotlin의 기본 접근제어자는 public";
private static final String ONLY_IN_SAME_FILE = "같은 파일에서만 사용 가능";
@NotNull
public static final String ONLY_IN_SAME_MODULE = "같은 모듈에서만 사용 가능";
}