References: Do it! 코틀린 프로그래밍
사용자가 직접 정의한 클래스를 사용하는 방법을 알아봅니다.
1. 클래스정의.
프로젝트를 생성 후 패키지를 만듭니다. 그리고 그 아래 클래스를 하나 만들어 둡니다.
defineMyClass 패키지 아래 Person 클래스를 생성하였습니다.
이 클래스를 다른 패키지인 useMyClass의 메인함수에서 사용해 보겠습니다.
2. 클래스 사용하기.
Main.kt에 다음과 같이 코딩합니다.
package useMyClass
import defineMyClass.Person
fun main() {
val user1 = Person("smoh", 28);
println(user1.name)
println(user1.age)
}
이후 실행하면 다음과 같은 결과값을 확인할 수 있습니다.
그런데 만약 useMyClass 패키지내에 Person클래스가 이미 존재하면 어떻게 쓸 수 있을까요 ?
이를 테스트하기 위해 useMyClass에도 Person클래스를 추가합니다. 그리고 다음과 같이 코딩합니다.
(** 물론 입력하는 자료형리 다르다면 똑똑한 컴파일러는 알아서 구분해주긴 합니다.)
package useMyClass
class Person(val name: String, val dob: Int)
이제 main에서 같은 패키지 내의 Person클래스를 사용해 보려고 합니다.
뭔가 문제가 생긴것을 볼 수 있습니다. user2는 같은 패키지 안에 있는 Person을 사용하고 싶은데 자동으로 defineMyClass 안에 있는 Person을 생성해 버립니다.
이 둘을 구분하여 쓰기 위해 "as"를 사용해 별명을 붙입니다.
코드를 다음과 같이 수정합니다.
as를 사용해 별도로 이름을 지정해 주면 같은 이름의 클래스를 구분할 수 있습니다.
반응형
'Programming' 카테고리의 다른 글
[Kotlin] 06. 자료형 String (0) | 2019.08.21 |
---|---|
[Kotlin] 05. 변수 선언과 자료형 (0) | 2019.08.21 |
[Kotlin] 03. 프로젝트, 모듈, 패키지, 클래스 (0) | 2019.08.21 |
[Kotlin] 02. main 함수의 매개변수 args (0) | 2019.08.21 |
[Kotlin] 01. HelloKotlin! (0) | 2019.08.20 |