All Honey Tip

[기술 면접] 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에 대한 추가 내용은 아래 책들에서 확인하실 수 있습니다.

윤성우의 열혈 Java 프로그래밍:, 오렌지미디어 스프링 입문을 위한 자바 객체 지향의 원리와 이해, 위키북스 초보자도 간단히 단숨에 배우는 자바:동영상 강의 제공 | 쉽게 빠르게 편하게 시작하는 프로그래밍 입문, 터닝포인트





마치며

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

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

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




코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다