자바
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 는 일반 클래스와 다르게 다중 상속이 가능하다. 그래서 다른 접점이 없는 클래스들에게 공통적인 함수를 부여할떄도 요긴하게 쓸수 있다.
