일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Spring
- 리눅스
- 패스트캠퍼스후기
- 재택근무
- linux
- ncs
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online
- DB
- 데이터베이스
- java
- DesignPattern
- 웹
- 자바연습문제
- 디자인
- 패캠챌린지
- 자바
- javabasic
- 자바기본
- 디자인패턴
- 패스트캠퍼스
- js
- 자바예제
- java기초
- 자바기초
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online강의
- 국비
- String
- 직장인인강
- 직장인자기계발
- 스프링
- Today
- Total
FIF's 코딩팩토리
패스트캠퍼스 챌린지 40일차 본문
무엇이든 담을 수 있는 제네릭(Generic)
자바에서 제네릭(generic)이란 데이터의 타입(data type)을 일반화한다(generalize)는 것을 의미한다.
제네릭은 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정하는 방법이다
이렇게 컴파일 시에 미리 타입 검사(type check)를 수행하면 다음과 같은 장점을 가진다
1. 클래스나 메소드 내부에서 사용되는 객체의 타입 안정성을 높일 수 있다.
2. 반환값에 대한 타입 변환 및 타입 검사에 들어가는 노력을 줄일 수 있다.
JDK 1.5 이전에서는 여러 타입을 사용하는 대부분의 클래스나 메소드에서 인수나 반환값으로 Object 타입을 사용했다.
하지만 이 경우에는 반환된 Object 객체를 다시 원하는 타입으로 타입 변환해야 하며, 이때 오류가 발생할 가능성도 존재한다.
하지만 JDK 1.5부터 도입된 제네릭을 사용하면 컴파일 시에 미리 타입이 정해지므로, 타입 검사나 타입 변환과 같은 번거로운 작업을 생략할 수 있게 된다.
제네릭의 선언 및 생성
자바에서 제네릭은 클래스와 메소드에만 다음과 같은 방법으로 선언할 수 있다.
class MyArray<T> {
T element;
void setElement(T element) { this.element = element; }
T getElement() { return element; }
}
위의 예제에서 사용된 'T'를 타입 변수(type variable)라고 하며, 임의의 참조형 타입을 의미한다.
꼭 'T'뿐만 아니라 어떠한 문자를 사용해도 상관없으며, 여러 개의 타입 변수는 쉼표(,)로 구분하여 명시할 수 있다.
타입 변수는 클래스에서뿐만 아니라 메소드의 매개변수나 반환값으로도 사용할 수 있다.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'패스트캠퍼스 챌린지' 카테고리의 다른 글
패스트캠퍼스 챌린지 42일차 (0) | 2022.03.06 |
---|---|
패스트캠퍼스 챌린지 41일차 (0) | 2022.03.05 |
패스트캠퍼스 챌린지 39일차 (0) | 2022.03.03 |
패스트캠퍼스 챌린지 38일차 (0) | 2022.03.02 |
패스트캠퍼스 챌린지 37일차 (0) | 2022.03.01 |