![[기술 면접] 6. Java Generic 타입에 대해서 설명해주세요. 1 제목을 입력해주세요 복사본 15 001 1](http://allhoneytip.com/wp-content/uploads/2023/09/제목을-입력해주세요__복사본-15-001-1-300x300-optimized.png)
저번 시간에 이어, 이번엔 Java Generic 타입에 대해 알아보겠습니다. 자주 사용하지만, 목적이 무엇인지 명확히 말로 표현하기는 힘들 수 있습니다. 이번 시간을 기회로 정리해보기로 합니다.
![[기술 면접] 6. Java Generic 타입에 대해서 설명해주세요. 2 Java Generic 타입에 대해서 설명해주세요.](http://allhoneytip.com/wp-content/uploads/2023/07/image-59-1024x512-optimized.png)
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에 대한 면접 질문들을 알아보겠습니다.
![[기술 면접] 6. Java Generic 타입에 대해서 설명해주세요. 2 Java Generic 타입에 대해서 설명해주세요.](http://allhoneytip.com/wp-content/uploads/2023/07/image-59-1024x512-optimized.png)
답글 남기기