Skip to content

[item29] 타입 매개변수에 기본 타입은 왜 쓸 수 없을까 #48

Open

Description

@jun108059

(174p) 대다수의 제네릭 타입은 타입 매개변수에 아무런 제약을 두지 않는다. ~ 단, 기본 타입은 사용할 수 없다.

Activity

  1. okeydokey commented on Oct 26, 2022

    @okeydokey
    Contributor

    https://www.baeldung.com/java-generics#generics-primitive-data-types 에 자세히 나와있어서 번역기 돌린 내용 공유합니다 ㅎ
    기본 타입이 작동하지 않는 이유는 제네릭이 컴파일 타임 기능이기 때문입니다. 즉, (런타임에는) 타입 매개변수가 지워지고 모든 제네릭 유형이 Object 타입으로 구현됩니다.
    따라서 타입 매개변수는 Object로 변환할 수 있어야 합니다. 기본 타입은 Object를 확장하지 않기 때문에 타입 매개변수로 사용할 수 없습니다.
    Java의 향후 버전에서는 제네릭에 대한 기본 타입을 허용할 가능성이 있습니다. 프로젝트 Valhalla는 제네릭 처리 방식을 개선하는 것을 목표로 합니다. (https://openjdk.org/jeps/218)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions