본문 바로가기

JAVA

java generic

1. 자바 제네릭이란?

  • 객체의 타입을 컴파일 시점에 결정
  • 이유 : 형 변환에서 발생할 수 있는 문제점을 사전에 없애기 위해 만들어짐.(이것이 가장 큰 이유)
  • Ex) Object a 라면, (int) 등으로 객체를 변환시켜줘야 해서 런타임 시점에 에러가 발생함.(즉, 에러를 미리 볼 수 없음)

2. 제네릭 사용조건

  • Primitive type은 사용불가. 객체 reference type만 사용 가능. 그래서 wrapper 클래스로 int, long 등의 primitive type을 객체로 변환시켜서 원소로 만듦.
  • 이유(내 생각을 적어봄)
    • 객체 타입은 reference값(주소 값)을 가지고 있다. (Array, list, map, set처럼) 그래서 pass by reference가 된다.
    • 하지만 primitive 타입은 값을 가지고 있다. 그래서 pass by value가 된다. 즉, 값 유지가 안된다.
    • (만약 다른 이유라고 생각하신다면 댓글로 적어주시면 감사하겠습니다.)

'JAVA' 카테고리의 다른 글

절차지향과 객체지향의 차이점  (0) 2022.04.23
nested class  (0) 2022.04.20
상속  (0) 2022.04.20
interface와 abstract 차이점  (0) 2022.04.20
Java 환경설정  (0) 2021.10.30