컴퓨터 관련/JAVA

[java 9강] java 제네릭 이란?

승명 2016. 12. 18. 13:14

[java 9강] java 제네릭 이란?



9강에서는 List , Map 에 들어가려 했지만... 


또한가지 먼저 알려드려야 할것이 있습니다.


바로 제네릭 입니다.


api 는 전 강의에서도 말했다 싶이 누군가가 쓰기 쉽게 만들어 놓은 것 입니다.


api 를 사용하려고 하면  "<>" 이런 문구가 나옵니다.


"<>" 바로 다이아몬드 연산자 인대요... 다이아몬드 연산자를 사용하여 제네릭을 만들수 있습니다.


이건 설명을 해도 바로 와닫지 않기 떄문에 예제를 먼저 보고 설명을 드리겠습니다.


예제 입니다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/*
 * @author 국브
 */
class test<T>{
        public T aaa;
    }
 
/*
 * @author 국브
 */
public class hello {
 
    public static void main(String[] args) {
        test<String> bbb = new test<String>();
        bbb.aaa = "니나노";
        System.out.println(bbb.aaa);
        
    }
}



최대한 쉽게 예제를 만들어 보았습니다.


우선 이번 예제에서는 class 가 두개입니다.


우선 test 클래스의 내용을 보면 " public T aaa;" 라는 하나의 생성자... 아직 생성자를 모르실태니 변수라고 생각합시다.


밑에 hell class 에서 "test<String> bbb = new test<String>();" 설명하겠습니다.


test 클래스를 bbb 라고 만들어주고 다이아 몬드연산자에는 String을 넣어주었습니다.


그리고 바로 "new" 사용하여 인스턴스 하였습니다....


흠냐 이번에는 설명이 너무 어렵게 느껴질수도 있습니다....


하지만!! 제네릭은 알고 넘어가야합니다.


결국 다이아몬드 연산자에 넣어주는 타입으로 생성이됩니다.


즉 int 를 넣어주면 int 형 변수가 되고, String 넣어주면 String 변수가 되죠...


결론은!!!


데이터 타입을 마음대로 사용할수 있는것입니다...


우선 위의 예제에서는 String 으로 생성을 하여서 문장인 "니나노"; 가 들어가지며 출력물을 보시면....





이렇게 문자열이 출력이됩니다... 결론은 String 이라는 것이죠..


꼭 이해하시고 넘어가십쇼!


api를 사용하시려면 대부분은? 변수를 지정해주어야합니다.


그래서 이번시간에는 제네릭을 설명드리고 싶었습니다.


근대 설명을 하다보니 충분히 어렵게 느낄수 있을것 같습니다.


더 설명했다가는 뭔가 잘못이해하거나 더 의문점이 생길것같아서 여기까지만 설명하도록하겠습니다.


제네릭은 앞으로의 예제에서 많이 나올것입니다.

'컴퓨터 관련 > JAVA' 카테고리의 다른 글

[java 11강] java 접근제한자  (0) 2016.12.18
[java 10강] java 배열(array)  (0) 2016.12.18
[java 8강] java API 란?  (0) 2016.12.18
[java 6강] 반복문  (0) 2016.12.18
[java 6강] 조건문  (0) 2016.12.18