자바

2023 -06-29 제네릭 쓰기, interface 쓰기

쿠키키키키 2023. 6. 29. 21:59

제네릭

미리 큰 틀은 만들어 놓고  호출 할때마다  타입 이 정해져서 나오게하기 

 

 

ArrayList al = new ArrayList();

al.add(10);

al.add(10);

 

int data0 =(int) al.get(0);     정수형만을 넣었지만 꺼낼때도 이렇게 형변환을 해줘야한다.

이럴때 따로 클래스를 만들어서 정수형만을 넣을수 있게 할수 있겠지만 

 또  다른 타입을 넣을떄는 또 만들어 줘야한다. 

이럴떄  

ArrayList<Integer> al = new ArrayList<>();

을 하면  

al.add(10);

al.add(10);

int data0 = al.get(0);     이렇게 따로 변환을 시키지 않아도 된다. 

 

 

 

 

interface 

 

여기서 이제   interface  를 써서 이문제를 해결해야한다.  

홍길동은 사람클래스를 상속 받으면 되지만  변호사랑 홍길동이랑   한테 서로 extend 는 별로 맞지 않다.

이런 경우에는 interface 를 써주면 된다. interface는 추상 메서드만 쓸수 있는 클래스라고 보면된다. 

 

이렇게 코드를 짜면 오류없이 잘 실행된다.  

 interface 는  일반 클래스와 다르게 다중 상속이 가능하다.  그래서  다른 접점이 없는 클래스들에게 공통적인 함수를 부여할떄도  요긴하게 쓸수 있다. 

 

 

이런식으로 홍길동 한테 변호사, 치과의사, 성화봉송자 를 다 상속 해줄수있다!!