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
- JPQL
- fullcalendar
- JPA
- jQuery값전달
- namedQuery
- values()
- 벌크연산
- 자바서블릿
- jQuery값전송
- calendar
- 페이징
- 제너릭
- 스프링데이터흐름
- Hibernate
- jscalendar
- fetchjoin
- jQueryUI
- 제네릭
- joinfetch
- 프로젝트생성
- LIST
- Generic
- JQuery
- 엔티티직접사용
- paging
- 대량쿼리
- springflow
- javaservlet
- 페치조인
- javascriptcalendar
Archives
- Today
- Total
가자공부하러!
Java_3_제네릭(Generic) 본문
제네릭 : 클래스 내부에서 사용 할 자료형을 객체 외부에서 정하는 기법.
제네릭을 사용하는 이유 :
> 타입 안정성 : 미리 정한 타입의 자료만 받기 때문에 자료형을 엄격히 제한할 수 있음
제네릭의 특성 :
> 복수의 제네릭을 활용 가능
> 제네릭 생략 가능 (이미 선언된 변수의 자료형을 알 수 있는 경우)
> 메소드에 적용 가능
제네릭의 제한 (extends):
> 제네릭으로 올 수 있는 데이터 타입을 특정 클래스의 자식으로 제한할 수 있다.
제네릭 연습 코드
GenTest.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | package test; public class GenTest<T> { //이 클래스로 객체를 생성할 때 객체가 받아올 자료형을 정할 수 있다. //꺽쇠(<,>)사이 T자리에 자료형을 입력해서 객체를 생성하면 해당 객체는 입력된 자료형만 저장한다. //ex) GenTest<Integer> == 이 객체는 정수만 저장한다. private T a; //정한 타입의 변수가 선언된다. 정수, 문자열 등 void setData(T aa){ a=aa; //인수로 자료형을 받고 aa인수로 자료형에 맞는 값을 받아서 변수a에 저장한다. //변수 a의 자료형은 T가 되고 값은 aa로 설정된다. } T getData() { return a; } } | cs |
MainClass.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | package test; public class mainClass { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("Hello Generic!"); GenTest<Integer> num = new GenTest<Integer>(); //num객체에 저장할 수 있는 자료형은 int GenTest<String> str = new GenTest<String>(); //String 객체에 저장할 수 있는 자료형은 String num.setData(300); str.setData("ggggg"); System.out.println(num.getData()); System.out.println(str.getData()); } } | cs |
참고 웹사이트 : 생활코딩(https://opentutorials.org/module/516/6237)
'공부 > Java' 카테고리의 다른 글
Java_5_람다식(Lambda Expressions) (0) | 2019.05.17 |
---|---|
Java_4_Stream(스트림) (0) | 2019.05.17 |
신나는 별찍기 공부 (0) | 2019.05.16 |
Java_2_반복문과 Scanner 활용 (0) | 2019.02.27 |
Java_1_Java(자바) 설치 (0) | 2019.02.27 |
Comments