Notice
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 의존역적원칙
- nat inside
- Arrays.sort()
- 함수지향
- 로그인기능 #
- 비절차형 언어
- 4-Way Handshake
- 빅오표기법
- 배열오름차순정렬
- 타입오류
- 의존성주입
- oop 4대 특성
- 클래스추가
- 회원가입기능
- jquery
- 3-Way Handshake
- MSA
- 객체지향
- 토글기능
- soild
- flask
- AttributeError
- 멀티프로세스
- 객체지향 5대 특징
- 마이크로서비스아키택처
- 프로그래머스
- CORS
- 클래스삭제
- 향상된 for문
- 분산형 아키택처
Archives
- Today
- Total
개발하는 체대생
제네릭이란? 본문
질문 : 제네릭에 대해서 설명하고, 컬렉션 클래스에서 왜 제네릭을 사용하는 지 설명해주세요.
답변 : 제네릭은 자바에서 특정 타입을 파라미터로 가지는 클래스와 인터페이스를 의미합니다. 제네릭을 사용하면, 타입 안정성을 보장할 수 있으며, 컴파일 시에 타입 체크를 수행하기 때문에 컴파일 오류를 사전에 방지할 수 있습니다.
컬렉션 클래스에서 제네릭을 사용하는 이유는, 다양한 타입의 객체를 저장할 수 있는 컬렉션 클래스를 만들기 위해서입니다. 예를 들어, ArrayList 클래스에서는 제네릭을 사용하여 ArrayList<String>과 같이 특정 타입의 문자열만을 저장하는 리스트를 생성할 수 있습니다. 이렇게 함으로써, 컴파일 시에 타입 체크를 수행하여 컴파일 오류를 사전에 방지할 수 있으며, 런타임 시에 잘못된 타입의 객체가 저장되는 경우를 방지할 수 있습니다. 또한, 제네릭을 사용하면, 타입 캐스팅을 하지 않아도 되므로 코드의 가독성을 높일 수 있습니다.
제네릭이란?
제네릭에 대해서 간단히 정의하자면 "컴파일 시 타입을 체크해주는 기능"과 "타입을 파라메터화 하여 컴파일 시 구체적인 타입이 결정되게 하는 것"이라고 정의할 수 있습니다.
public class Test<T> {
// T를 사용하는 필드와 메서드 등의 멤버 선언
}
제네릭의 장점
타입 안정성 보장: 제네릭을 사용하여 컴파일 시에 타입 체크를 수행하므로 런타임에 ClassCastException과 같은 예외를 줄일 수 있습니다.
코드 재사용성: 제네릭은 여러 타입에 대해 동작하는 일반적인 알고리즘을 작성할 수 있게 합니다.
코드 가독성 향상: 제네릭을 사용하면 타입을 명시적으로 지정할 수 있으므로 코드의 가독성이 향상됩니다.
제네릭의 용어
타입 매개변수: 클래스나 인터페이스를 선언할 때 사용하는 파라미터로, 이름은 보통 대문자 한 글자로 작성합니다.
제네릭 타입: 타입 매개변수를 포함하는 클래스나 인터페이스를 의미합니다.
실제 타입 매개변수: 제네릭 타입을 사용할 때 실제로 지정하는 타입을 의미합니다.
와일드 카드: 제네릭 타입에서 일부 타입을 모르는 경우, ?를 사용하여 표현합니다.
결론
제네릭의 사용하면 클래스나 메서드에서 사용하는 객체의 타입을 유영하게 변경할 수 있기 때문에 다양한 타입의 객체를 사용할 수 있고 이를 통해서 코드의 재사용성과 유지보수성을 향상시킬 수 있다는 장점이 있습니다.
'취업스터디' 카테고리의 다른 글
Parameter(매개변수)와 Argument(인자) (0) | 2023.03.30 |
---|---|
자료구조 List, Set, Map, HashMap (0) | 2023.03.30 |
MSA(Micro Service Architecture)란? (0) | 2023.03.29 |
DB에서 Index란? (0) | 2023.03.28 |
DI(Dependency Injection)란? (0) | 2023.03.28 |
Comments