[JAVA] Java의 Generic 타입

chaentopia·2024년 4월 9일
0

NOW SOPT SERVER 과제

목록 보기
2/14

1차 세미나 키워드 과제

Generic 타입에 대해서 알아보기 전에 원시 타입과 참조 타입에 대해서 알아봅시다.

JAVA의 원시 타입 (Primary Type)

JAVA에는

  • boolean : True / False - 논리형
  • byte : -128 ~ 128 - 정수형
  • short : -32768 ~ 32767 - 정수형
  • int : -2147483648 ~ 2147483647 - 정수형
  • long : -9223372036854775808 ~ 9223372036854775807 - 정수형
  • float : 1.4E-45 ~ 3.4028235E38 - 실수형
  • double : 4.9E-324 ~ 1.7976931348623157E308 - 실수형
  • char : '\u0000' ~ 'uFFFF' (16비트 유니코드 문자 데이터) - 문자형
    총 8개의 원시 타입이 존재합니다.
    원시 타입은 객체가 아니며, null 값을 가질 수 없습니다. 또한, 원시 타입은 사용하기 전에 선언을 꼭 해주어야 합니다.

JAVA의 참조 타입 (Reference Type)

참조 타입은 원시 타입을 제외한 타입들 (문자열, 배열, 열거, 클래스, 인터페이스) 을 말하며 객체의 주소를 저장하는 타입입니다. 참조 타입은 null 값을 가질 수 있습니다. JAVA에서 실제 객체는 동적 메모리인 Heap 영역에 저장되기 때문에 참조 타입 변수는 정적 메모리 스택 영역에 실제 객체들의 주소를 저장하고 객체를 사용할 때마다 참조 변수에 저장된 객체의 주소를 불러와서 사용합니다.

JAVA의 Generic 타입

자바에서 제네릭이란 클래스 내부에서 사용할 데이터 타입을 외부에 지정하는 기법을 의미하는데, 객체별로 다른 타입의 자료가 저장될 수 있도록 합니다.

ArrayList<String> list = new ArrayList<>();

여기서 <> 이 꺾쇠 괄호가 제네릭을 의미합니다. 괄호 안에 타입명을 적게 되는데

ArrayList<T> list = new ArrayList<>();

이렇게 적게 된다면 여기서 T는 타입 매개 변수를 의미합니다.

제네릭은 타입을 유연하게 처리하고, 잘못된 타입 사용으로 발생할 수 있는 런타임 타입 에러를 컴파일 과정에서 검출할 수 있기 때문에 사용하게 됩니다.

여기서 제네릭 타입은 타입을 파라미터로 가지는 클래스와 인터페이스를 의미합니다.

public class Person<T>
public interface PersonInterface<T>
profile
the pale blue dot

0개의 댓글