• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

제네릭 변수는 static이 안 되고

20.03.21 20:58 작성 조회수 318

0

제네릭 메서드는 static이 되는 건가요

답변 1

답변을 작성해보세요.

3

김현지님의 프로필

김현지

2021.03.20

안녕하세요, 토마토님!

static 변수에 제네릭을 사용하면 여러 인스턴스에서 어떤 타입으로 공유되어야할지 지정할 수 없어서 사용할 수 없습니다.

static 변수는 값 자체가 공유되기 때문입니다.

값 자체가 공유되려면 타입에 대한 정보도 있어야하기 때문에 static 변수에는 타입이 지정되지 않은 제네릭 타입은 사용하지 못합니다.

하지만, static 메서드는 메서드의 틀만 공유합니다.

즉, 제네릭 메서드를 정의할때는 리턴타입이 무엇인지와는 상관없이 내가 제네릭 메서드라는 것을 컴파일러에게 알려줘야합니다.

static 메서드는 메서드의 틀 안에서 지역변수처럼 타입 파라미터가 다양하게 오가는 형태로 사용될 수 있는 것입니다.

혹시 궁금하신 점 있으시면 댓글 달아주세요.

도움이 되셨으면 좋겠습니다. :)