본문 바로가기
Java (자바)

쉽게 따라하는 Java (자바) 독학 _ 인터페이스 (Interface)

by Ecoder 2022. 12. 18.

Java (자바) 독학 제어문  _ 인터페이스 (Interface)

 

1. 인터페이스 (Interface)

   - 다른 클래스의 틀이 되거나 중간 매개 역할을 하는 일종의 추상 클래스

   - 객체를 생성하지 못함

   - 구현(inplements)을 위해 사용

   - 부모 클래스는 각 클래스당 1개만 확정받을 수 있지만, 부모 인터페이스는 여러 개 구현 가능

   - 특정 클래스가 구현해서 해당 메소드를 재정의(오버 라이딩)해서 사용해야 함. 

 

   - 변수를 선언할 때 맴버 변수(대입이 가능한 변수)를 선언할 수 없음

   - 변수를 선언할 경우에는 상수 (constant)로 갖을 수 있음

   - e.g.

         class: private int age;

         interface: public static final int AGE = 10;

             ** final이 붙은 변수에는 더 이상 값 대입이 불가능

 

   - 메소드를 선언할 때에는 추상(abstract) 메소드만 선언 가능

   - e.g.

         class

              public int methodA (int a, int b) {

                  return a + b;

               }

         interface

             public int methodB (int a, int b);

                ** 메소드를 선언만 하는 할 수 있음

 

 

2. 사용 이유

   - 협업 개발을 할 때 변수명, 구현 방식 등을 통일시킬 수 있음

 

 

3. 인터페이스 (Interface) Test

package에서 오른쪽 클릭 -> New -> Interface 클릭

 

 

Name: InterfaceTest_01

Finish 클릭

 

 

Class Name: InterfaceMain_01

Interface 추가

public static void main(String[] args) 클릭

 

 

Eclips Interface 추가한 class 생성하면 자동으로 Override 생성

 

 

InterfaceTest_01 코드

1
2
3
4
5
6
 
public interface InterfaceTest_01 {
    public int method1(int a, int b); 
    public String method2(String a, String b);
}
 
cs

 

InterfaceMain_01 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
public class InterfaceMain_01 implements InterfaceTest_01 {
 
    @Override
    public int method1(int a, int b) {
        return a + b;
    }
 
    @Override
    public String method2(String a, String b) {
        return a + b;
    }
 
    public static void main(String[] args) {
        InterfaceMain_01 test = new InterfaceMain_01();
        System.out.println(test.method1(46));
        System.out.println(test.method2("안녕하세요."" Ecoder입니다."));
    }
 
}
cs

  저장(ctrl + s) 후 F11을 눌러 출력되는 내용 확인하기

 

 

 

4. 과제

인터페이스를 만들어 원, 삼각형, 사각형 넓이 구하는 메소드를 생성하시고,

클래스를 만들어 Override 해 보세요.

반응형

댓글