본문 바로가기
2022-2/자바

interface/Object class/Wrapper class/System class

by 철없는민물장어 2022. 11. 8.
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

댓글