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