728x90
반응형

<오늘의 학습>

1. 인터페이스

2. 추상 클래스

 

 

1. 인터페이스(interface)

레퍼런스 자료형 : 클래스, 인터페이스, 배열


1.인터페이스는 추상클래스의 일종이다.
2.인터페이스의 모든 메서드는 추상메서드이다. (내용 없는 메서드=추상메서드)
3.인터페이스의 메서드 접근 제한자는 public. 생략해도 public
4.인터페이스 변수는 static final이다. 변수를 상수화하는 것으로 값 변경을 할 수 없다.
static final을 생략해도 static final이다.

ex) static final int MAX=100;//클래스
int MAX=100;//인터페이스
값 변경 불가능

5.생성자, static메서드, private메서드는 추상화될 수 없다.
6.추상메서드는 상속 받아서 오버라이딩 해야 한다.



2. 추상 클래스와의 비교

interface Abstract class(추상클래스)

 

일반 클래스:내용있는 메서드만 존재한다.
추상 클래스:내용있는 메서드도 있고, 추상메서드도 함께 존재한다.
인터페이스:모든 메서드가 추상메서드이다.

interface 형식

interface 인터페이스 이름{
//변수
//static final 변수
public void aa();//추상 메서드

}

class 클래스이름 implements 인터페이스이름{
//오버라이딩
public void aa(){//내용;}
}



/*게시판 실습*/
interface Board{
//추상메서드
}

class BoardImplements implements Board{
//오버라이딩
}

 



키워드 interface       abstract class
메서드 추상메서드 추상메서드,일반메서드 둘 다 존재 가능
다중상속 가능            불가능
변수 static final          프로그래머 마음대로 사용이 가능



 - 추상 클래스의 추상 메서드도 무조건 상속 받아 오버라이딩 해야 한다.
 - 추상 클래스에는 추상 메서드가 하나 이상 존재해야 한다.
 - 추상 클래스로는 객체 생성을 할 수 없다. 내용이 없는 추상 메서드를 호출할 수도 있기 때문이다.(내용이 없는 추상 메서드 호출시 에러남)
ex) Graphics, Calendar

 


2023년 5월 23일 화요일

<8일차 수업 후기>

추상클래스와 인터페이스가 거의 비슷하다고 생각했는데 오늘 수업으로 차이점이 많다는 것을 알게 되었다. 두 개를 사용하는 이유가 헷갈렸기 때문에 복습을 더 꼼꼼하게 해보자.

728x90
반응형

+ Recent posts