• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

런타임에 클래스 타입이 추가될 수 없다라는게 이해가 안됩니다.

22.12.23 15:29 작성 22.12.23 15:32 수정 조회수 247

1

안녕하세요. 강의 잘 듣고 있습니다.

궁금한게 생겨서 문의드립니다.

sealed 클래스에서

컴파일 타임때 하위 클래스의 타입을 모두 기억한다,

즉, 런타임때 클래스 타입이 추가될수 없다

여기서 말하는 런타임이 뭘까요..?

 

자바에서 런타임에 클래스타입을 추가할 수 있나요?(리플렉션을 통해 런타임에 동적으로 클래스로더에 올리는거 정도는 생각이 드는데, 클래스를 상속받는 클래스 타입을 추가하는건 이해가 안되서요)

 

아니면 이미 제3자가 sealed로 배포한 라이브러리를 임포트하여 코드 내에서 상속받은 클래스를 만드는것을 런타임이라 하신건지 궁금합니다

 

아 그리고 마지막으로 강의하시는 코틀린의 버전도 궁금합니다

감사합니다 ^^

답변 1

답변을 작성해보세요.

1

안녕하세요, 용조님!! 크리스마스 주말은 잘 보내셨는지요~ 😊 너무 좋은 질문 감사드립니다!!! 🙏

제가 이 설명을 통해 의도했던 내용은 말씀해주신 "제3자가 sealed로 배포한 라이브러리를 임포트하여 코드 내에서 상속받은 클래스를 만드는것을 런타임"이 맞습니다!!!

저희가 외부 라이브러리/프레임워크를 컴파일 된 채로 가져와 사용한다고 생각하면, 외부 라이브러리/프레임워크에 있는 abstract class는 하위 클래스를 만들 수 있지만, sealed class를 만들 수 없으니까요!!

 

추가적으로 현재 강의되고 있는 내용의 코틀린 버전은 1.5.21입니다!

다만, 1.6.x / 1.7.x 까지는 추가 및 변경 되는 내용이 크게 있지 않아 상위 버전으로 올려 사용하시는데 큰 어려움은 없으실 겁니다!

이번 한 주도 행복한 한 주 되시기 바랍니다!!

감사합니다!!! 🙏🙇