///
Search
🌞

이우엽

날짜
2022/07/18
태그
잔디
속성
[java]

제네릭

미완성 클래스
제네릭이 필요한 이유
⇒ 제네릭을 사용하지 않으면 타입별로 거의 유사한 코드를
작성해야 한다
Object타입으로 만들면 되지 않을까?
데이터를 넣을때
int ⇒ integer ⇒ Object(로 변질)
데이터를 뺄 때
명시적으로 형변환 해줘야한다
제네릭은 구매자사인(타입)이 안적힌 그림작품(똑같은 구조)이다
(※ 그림을 복사해서 팔 수 있다고 가정할 때)
⇒ 사용하면서 완성시킨다
구조가 다르면 제네릭을 쓸 수 없다
타입을 두개 이상 지정해야 하면, 하나의 타입 조합만 가능하다

구상클래스, 추상클래스, 인터페이스

[추상성]
0% : 구상클래스
0% ~ 100% : 추상클래스
100% : 인터페이스
인터페이스는 그냥 추상성 100%인 클래스이다
class Main { public static void main(String[] args) { 사람 a사람 = new 홍길동(); // 홍길동 extends 사람 변호사 a변호사 = (변호사)a사람; // 사람 리모콘은 홍길동 객체와 연결되어있다 // 변호사 리모콘에 들어가려면 홍길동이면 변호사이어야 한다 // 다중상속이 불가함으로 implements를 이용한다 } } class 사람 {} interface 변호사 {} class 홍길동 extends 사람 implements 변호사 { // 사람과 변호사의 관계를 따지는 게 아니다 // extends와 implements는 홍길동에 // 다형성을 부여하는 수단일 뿐이다 }
Java
복사