티스토리 뷰

배운 것 기록/java

interface

키죽 2022. 6. 8. 22:52

interface

- 순수 추상 메서드, 상수를 멤버로 가질 수 있다.

- 상수 선언만 가능하며 인스턴스나 정적 멤버 선언은 할 수 없다.

- 다중 상속(extends), 다중구현(implements) 가능

- 생성자가 없으며 객체 생성이 불가하다. (추상클래스는 생성자 가능하나 객체 생성 불가)

interface Interface {
	// 상수만 가능
	// 추상메서드만 가능
}

 

 

- 멤버변수, 매개변수, 로컬변수 타입으로 선언 가능

class TV implements RemoteCon {
    @Override
    public void turnOn() {
 	   System.out.println("TV On");
    }
    
    @Override
    public void turnOff() {
	    System.out.println("TV Off");
    }
}

class A {
	RemoteCon rc;			// 멤버변수
	A(RemoteCon rc) {}		// 생성자의 매개변수
	void methodA(RemoteCon rc) {}	// 메서드의 매개변수
	void methodB() {		// 메서드의 로컬변수
    	RemoteCon rc = new TV();
    }

}

 

interface의 필요성

  • 메서드명 통일로 강제로 구현 표준화가 가능하다. (구현의 가능성 - 오버라이딩)
  • 인터페이스를 통해 간접적 클래스 사용 (간편한 모듈 교체)
  • 관계가 없는 클래스에게 인터페이스를 통한 관계 부여 (다형성)
  • 모듈 간의 독립적 프로그래밍이 가능하다. (개발시간 단축)

 

'배운 것 기록 > java' 카테고리의 다른 글

Wrapper  (0) 2022.06.14
enum  (0) 2022.06.10
abstract 추상화  (0) 2022.06.07
레퍼런스 형변환  (0) 2022.06.02
super, final  (0) 2022.06.01
댓글
최근에 올라온 글
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함