작성
·
257
1
class JavaHouse(
val address: String,
val livingRoom: LivingRoom = LivingRoom(10.0)
) {
class LivingRoom(private val area: Double)
}
fun main() {
val house: JavaHouse = JavaHouse("busan", JavaHouse.LivingRoom(10.0))
}
안녕하세요 강사님 좋은 강의 잘듣고있습니다.
강의 예시 코드를 작성하고 main() 함수에 JavaHouse 의 인스턴스를 생성했습니다.
main() 함수를 실행하니, 아래와 같은 에러가 발생했습니다.
noSuchMethodError 라는걸 보면 JavaHouse() 라는 메서드가 없다고 에러가 뜬것 같은데, 저는 JavaHouse() 를 생성자의 용도로 사용했다고 생각했습니다. 혹시 어떤 지점에서 제가 잘못 생각했는지 알 수 있을까요? 감사합니다.
Exception in thread "main" java.lang.NoSuchMethodError: 'void com.lannstark.lec13.JavaHouse$LivingRoom.<init>(double)'
at com.lannstark.lec13.Lec13Kt.main(Lec13.kt:17)
at com.lannstark.lec13.Lec13Kt.main(Lec13.kt)
답변 1
1
안녕하세요, 파이후님!!! 우선 보내주신 코드를 제가 확인해본 바로는 잘 동작하고 있습니다!!
이럴 때 의심해볼 수 있는 것은
import가 잘 되었는지 = JavaHouse.LivingRoom이 가리키는 것인 지금 위에 있는 JavaHouse의 LivingRoom인지 아니면 다른 패키지에 있는 같은 이름의 LivingRoom인지
혹시나 IDE설정이 꼬인 것은 아닌지 (IntelliJ를 종료했다가 켜보시는 것도 방법일 것 같습니다!)
kotlin playground (https://play.kotlinlang.org/) 에서 잠깐 확인해보시는 것도 좋을 것 같습니다!
감사합니다~!! 😊