Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save Curookie/da3a526044934bf9111789b5c99557ae to your computer and use it in GitHub Desktop.
Save Curookie/da3a526044934bf9111789b5c99557ae to your computer and use it in GitHub Desktop.
객체지향 OOP
인터페이스 : method의 원형만 선언할 수 있음
1. 변수 선언 불가능
2. 함수 정의 불가능
3. 함수 원형 선언 가능
자바에서는 다중 상속이 가능.
추상클래스 : 추상 method를 가질 수 있는 클래스, 객체 가질 수 없음 (class 생성 불가)
1. 변수 선언 가능
2. 함수 정의 가능
3. 함수 원형만 선언 가능
자바에서는 다중 상속이 불가능.
추상 클래스와의 공통점
1. 이 클래스는 어떻게 무엇을 구현해야 하는가에 대한 이정표를 알려준다.
2. 직접 인스턴스를 생성할 수 없다.( new를 통한 객체 생성 불가 )
인스턴스를 만들고 싶다면 해당 클래스를 상속받는 서브 클래스를 만들어 인스턴스화 해야 한다.
3. 필드, 추상 메소드를 가질 수 있다.
인터페이스와 추상 클래스와의 차이점
1. 추상 클래스와 달리 일반 메소드, 생성자를 가질 수 없다.
2. 필드도 만들기 위해서는 static final을 붙인 상수화한 필드만 사용할 수 있고, 반드시 초기화 해야한다.
3. 일반 메소드가 없다는 의미는 즉, 서브 클래스에서 인터페이스내에 있던 메소드는 모두 구현해야 한다.
4. 인터페이스는 다중 상속이 가능하다. (추상 클래스 및 일반 클래스는 단일 상속만 허용)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment