Notice
Recent Posts
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
- 암호학
- 코딩테스트준비
- data structure
- spring
- js
- 공개키 암호화
- javascript
- dfs
- 가상컴퓨팅
- 크루스칼
- JPA
- Queue
- 생성자
- sql
- 문자열
- DB
- 코딩테스트
- jsp
- generic class
- 알고리즘
- 항해99
- BFS
- 개발자취업
- python
- dbms
- 자료구조
- 자바의정석
- 코테
- Algorithm
- Java
Archives
- Today
- Total
PLOD
[Java] 제네릭 클래스 (Generic Class) 본문
- Generic : 데이터의 타입을 일반화 한다.
자바는 객체를 담아 편하게 관리할 수 있는 컬렉션(Collection) 이라는 자료구조를 제공한다. 초기에는 어떤 객체를 담아야 할지 몰라서 모든 클래스를 담을 수 있는 Object 클래스를 사용하였다. Object 클래스는 모든 자료형의 클래스를 포함 하기 때문이다. 하지만 Object 클래스는 코드를 실행 해볼 수 없는 문제점이 있다.
이러한 문제점을 극복할 수 있는것이 제네릭 타입이다. 제네릭 타입은 하나의 코드를 다양한 타입의 객체에 재사용하는 객체지향기법이다.
1) Cup 클래스 : 제네릭 타입으로 선언
public class Cup<T> { // 타입 매개변수 명시 <T>
private T beverage;
public Cup(T beverage) { // 생성자 생성 가능
this.beverage = beverage;
}
public T getBeverage() { // 반환형은 T 이다
return beverage;
}
public void setBeverage(T beverage) {
this.beverage = beverage;
}
}
2) Boricha 클래스
public class Boricha {}
3) Beer 클래스
public class Beer {}
4) main 클래스
public class CupTest {
public static void main(String[] args) {
Cup<Boricha> c = new Cup<Boricha>(null);
c.setBeverage(new Boricha());
Boricha b = c.getBeverage();
}
}
'개발 공부 > Java' 카테고리의 다른 글
[Java] 객체지향프로그래밍(Object-Oriented Programming, OOP) (0) | 2023.06.21 |
---|---|
[Java] sort(정렬) (0) | 2023.05.31 |
[Java] Exception(예외 처리) (0) | 2023.01.23 |
[Java] API 및 Collection Framework (Map, Set, List) (0) | 2023.01.16 |
[Java] interface(인터페이스) (0) | 2023.01.15 |
Comments