728x90
반응형
자바는 다중상속이 불가능하다(부모가 여럿인거 불가)
interface가 있다.
public interface Lendable {
//public abstract가 생략됨
abstract void checkOut(String borrower, String date);
void checkIn();
}
static 상수 혹은 추상메소드만 가질 수 있으며,
접근지정자는 public 고정이다.
public abstract는 생략가능하다.
public class SeparateVolume implements Lendable {
public void checkOut(String borrower, String date)
{
...
}
}
implements 인터페이스명 으로 받은 후 메소드를 구체화해야한다.
(오버라이딩시 접근지정자는 같거나 넓은 범위여야하므로 public으로 구현할 것)
public class Main1110 {
public static void main(String[] args) {
Lendable[] arr=new Lendable[3];
arr[0]=new SeparateVolume("512ㅋ939서", "훈이의 비밀일기장", "베르베르");
arr[1]=new SeparateVolume("124ㅋ424풉", "컴사파", "김영탁");
arr[2]=new AppCDInf("863ㅂ885밥","개미");
checkOutAll("염동환","21912205",arr);
}
static void checkOutAll(String borrower, String date,
Lendable[] arr) {
for(int i=0;i<arr.length;i++) {
arr[i].checkOut(borrower, date);
}
}
}
인터페이스 활용하기
public interface Lendable {
final static byte BORROWED =1;
final static byte NORMAL =0;
//public abstract가 생략됨
abstract void checkOut(String borrower, String date) throws Exception;
void checkIn();
}
Lendable인터페이스에 상수 BORROWED, NORMAL을 추가하여 코드를 보기쉽게 함.
Object클래스는 모든 클래스의 super클래스.
Wrapper클래스는
프리미티브 타입(int, short 이런거)을 객체로 표현할 수 있게하는 클래스
Integer.parseInt("5"); 같이 string을 프리미티브타입 객체로 변환도 가능
728x90
반응형
'2022-2 > 자바' 카테고리의 다른 글
자바 Exception/Generic <T> (0) | 2022.11.24 |
---|---|
package (0) | 2022.11.15 |
추상화 클래스, 추상화 메소드, 다형성 (0) | 2022.11.03 |
입출력,버퍼,파일입출력 (1) | 2022.11.01 |
상속,오버라이딩,super(),final,abstract (0) | 2022.11.01 |
댓글