면접질문

기술면접 - 제네릭이란 무엇인가요?

작성자 정보

  • 마스터 작성
  • 작성일

컨텐츠 정보

본문

Q - 제네릭이란 무엇인가요?

A - 제네릭이란 타입을 일반화 하여 다양한 타입을 사용하게 하고, 코드 재사용에 도움이 되는 프로그래밍 기법중 하나 입니다.

 

[GPT]

제네릭(Generic)은 데이터 타입을 일반화하는 프로그래밍 기법 중 하나입니다. C#을 비롯한 많은 현대 프로그래밍 언어에서 지원되며, 코드를 더 타입 안전하게 만들고, 재사용성을 높이는 데 도움을 줍니다.


제네릭의 주요 목적

  • 타입 안전성(Type Safety): 제네릭을 사용하면 컴파일 시점에 타입을 체크할 수 있습니다. 이는 런타임 에러의 가능성을 줄이는 데 도움이 됩니다.
  • 코드 재사용성(Code Reusability): 다양한 타입에 대해 동일한 코드를 사용할 수 있게 합니다. 예를 들어, 여러 타입을 저장할 수 있는 하나의 컬렉션 클래스를 만들 수 있습니다.

 

제네릭의 작동 방식

  • 제네릭을 사용하면 클래스, 인터페이스, 메서드 등을 정의할 때 구체적인 타입 대신에 타입 매개변수(Placeholder)를 사용할 수 있습니다. 이 타입 매개변수는 나중에, 즉 클래스나 메서드가 사용될 때 구체적인 타입으로 대체됩니다.


예시

C#에서 제네릭 리스트를 생성하는 예시입니다.


List<int> intList = new List<int>();  // int 타입을 저장하는 리스트

List<string> stringList = new List<string>();  // string 타입을 저장하는 리스트

여기서 List<T>는 제네릭 클래스입니다. T는 타입 매개변수로, 구체적인 타입으로 대체될 수 있는 '자리 표시자' 역할을 합니다. 위 예시에서는 int와 string으로 대체되었습니다.


제네릭의 장점

  1. 타입 안전성: 제네릭을 사용하면 타입을 명시적으로 지정하기 때문에, 잘못된 타입의 객체가 사용되는 것을 컴파일 시점에 방지할 수 있습니다.
  2. 성능 향상: 예를 들어, 제네릭 컬렉션은 비제네릭 컬렉션에 비해 박싱(Boxing)과 언박싱(Unboxing)이 필요 없어 성능이 더 우수합니다.
  3. 코드 재사용과 유지 보수의 용이성: 한 번 작성된 제네릭 코드는 다양한 타입에 대해 재사용이 가능하므로, 코드의 양이 줄고 유지 보수가 용이해집니다.

제네릭은 현대 프로그래밍에서 필수적인 개념 중 하나로, 타입 안전성과 코드의 재사용성을 높이는 데 큰 역할을 합니다.

관련자료

댓글 0
등록된 댓글이 없습니다.

최근글


새댓글


알림 0