![[기술 면접] 6. Java Generic 타입에 대해서 설명해주세요. 1 제목을 입력해주세요 복사본 15 001 1](https://i0.wp.com/allhoneytip.com/wp-content/uploads/2023/09/%EC%A0%9C%EB%AA%A9%EC%9D%84-%EC%9E%85%EB%A0%A5%ED%95%B4%EC%A3%BC%EC%84%B8%EC%9A%94__%EB%B3%B5%EC%82%AC%EB%B3%B8-15-001-1-optimized.png?resize=300%2C300&ssl=1)
저번 시간에 이어, 이번엔 Java Generic 타입에 대해 알아보겠습니다. 자주 사용하지만, 목적이 무엇인지 명확히 말로 표현하기는 힘들 수 있습니다. 이번 시간을 기회로 정리해보기로 합니다.
![[기술 면접] 6. Java Generic 타입에 대해서 설명해주세요. 2 Java Generic 타입에 대해서 설명해주세요.](https://i0.wp.com/allhoneytip.com/wp-content/uploads/2023/07/image-59-optimized.png?resize=1024%2C512&ssl=1)
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 타입에 대해서 설명해주세요.](https://i0.wp.com/allhoneytip.com/wp-content/uploads/2023/07/image-59-optimized.png?resize=1024%2C512&ssl=1)
답글 남기기