Java 9일차 4(인터페이스)
2022. 11. 22. 12:45ㆍ코딩배움일지/JAVA
인터페이스란
1. 모든 메소드 는 기본적으로 추상메서드 이다.
2. 변수는 선언할 수 없다.
3. 상수는 선언할 수 있다. (기본적으로 모든 변수선언은 상수로 선언된다)
4. 일반 메소드를 선언하고 싶으면 abstract 대신에 default 키워드를 사용한다.
package j12_추상.인터페이스;
/*
1. 모든 메소드 는 기본적으로 추상메서드 이다.
2. 변수는 선언할 수 없다.
3. 상수는 선언할 수 있다. (기본적으로 모든 변수선언은 상수로 선언된다)
4. 일반 메소드를 선언하고 싶으면 abstract 대신에 default 키워드를 사용한다.
*/
public interface Calculator { /* 인터페이스 추상클래스와는 다르다. */
public int ERROR_CODE= -9999999;
public int calc(int[]value);
//public Calculator(){} /*생성자 불가*/
public default void setErrorCode(){
/*ERROR_CODE= 10; 이런식을 못한다.*/
}
}
package j12_추상.인터페이스;
public class CalcMain {
public static void main(String[] args) {
int[]taxPay = new int[] {2000000,2500000,2600000,2700000};
int[]salaryPay = new int[] {1000000, 1000000, 1000000, 1000000};
int result1 = 0;
int result2 = 0;
Calculator calculator = new Tax(); /*업캐스팅 */
result1= calculator.calc(taxPay);
if(result1 == 0){
System.out.println("오류: "+ calculator.ERROR_CODE); /**/
}else{
System.out.println("result1 => " + result1);
}
calculator = new Salary();
result2= calculator.calc(salaryPay);
if(result2 == 0){
System.out.println("오류: "+ calculator.ERROR_CODE);
}else{
System.out.println("result2 => " + result2);
}
// tax.calc( {2000000,2500000,2600000,2700000}); /*배열 그대로 쓰면 오류, 배열이라고 알려 주어야 한다.*/
}
}
'코딩배움일지 > JAVA' 카테고리의 다른 글
Java 10일차 2(오브젝트) (0) | 2022.11.23 |
---|---|
Java 10일차 1(오브젝트) (0) | 2022.11.23 |
Java 9일차 3 (0) | 2022.11.22 |
Java9일차 2(추상) (0) | 2022.11.22 |
Java 9일차 1(업캐스팅 다운캐스팅) (0) | 2022.11.22 |