제네릭
미리 큰 틀은 만들어 놓고 호출 할때마다 타입 이 정해져서 나오게하기
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 는 일반 클래스와 다르게 다중 상속이 가능하다. 그래서 다른 접점이 없는 클래스들에게 공통적인 함수를 부여할떄도 요긴하게 쓸수 있다.

이런식으로 홍길동 한테 변호사, 치과의사, 성화봉송자 를 다 상속 해줄수있다!!
'자바' 카테고리의 다른 글
| 이클립스 코드 수정 사항 적용 안될 때 해결 방법 (0) | 2023.07.28 |
|---|---|
| MVC 패턴 (0) | 2023.07.11 |
| 2023-06-28 substring 쓰기 (0) | 2023.06.28 |
| 2023-06-27 static, 수동 변환, 자동변환 (0) | 2023.06.27 |
| 2023-06-26 상수 , static (0) | 2023.06.26 |