[기술 면접] 6. Java Generic 타입에 대해서 설명해주세요.

제목을 입력해주세요 복사본 15 001 1

저번 시간에 이어, 이번엔 Java Generic 타입에 대해 알아보겠습니다. 자주 사용하지만, 목적이 무엇인지 명확히 말로 표현하기는 힘들 수 있습니다. 이번 시간을 기회로 정리해보기로 합니다.

Java Generic 타입에 대해서 설명해주세요.



Q: Java Generic 타입에 대해서 설명해주세요.

다양한 타입의 객체들을 다루는 method나 collection에서 컴파일 시 객체 타입체크를 해주는 기능입니다.



Q: 제네릭의 주된 사용 목적이 무엇인가요?

객체 타입의 안정성을 높이기 위함입니다. 제네릭을 사용하지 않을 경우, Object 타입 사용 시 각 데이터마다 형변환을 직접 해주어야 하며 오류 발생 가능성이 있습니다.



Generic Code

// 제네릭 클래스 정의
public class Box<T> {
    private T data;

    // 제네릭 클래스 생성자
    public Box(T data) {
        this.data = data;
    }

    // 데이터를 반환하는 메서드
    public T getData() {
        return data;
    }
}

// 제네릭 메서드 정의
public static <T> T genericMethod(T[] array) {
    // 배열의 첫 번째 요소 반환
    if (array.length > 0) {
        return array[0];
    }
    // 배열이 비어있으면 null 반환
    return null;
}

public static void main(String[] args) {
    // 제네릭 클래스의 인스턴스 생성
    Box<Integer> integerBox = new Box<>(10);       // 정수형 데이터를 저장하는 Box
    Box<String> stringBox = new Box<>("Hello, World!");  // 문자열 데이터를 저장하는 Box

    // 데이터 얻기
    int number = integerBox.getData();  // 상자에서 정수형 데이터 얻기
    String text = stringBox.getData();  // 상자에서 문자열 데이터 얻기
    
    // 제네릭 메서드 호출
    Integer[] intArray = {1, 2, 3, 4, 5};        // 정수형 배열
    String[] strArray = {"apple", "banana", "cherry"}; // 문자열 배열
    
    Integer firstInt = genericMethod(intArray); // 첫 번째 정수 얻기
    String firstStr = genericMethod(strArray);   // 첫 번째 문자열 얻기
}



마치며

이번 시간에는 Generic에 대해 간단하게 알아보았습니다.

다음 시간에는, JVM에 대한 면접 질문들을 알아보겠습니다.

Java Generic 타입에 대해서 설명해주세요.

Leave a Comment