Created
October 14, 2018 02:49
-
-
Save Curookie/da3a526044934bf9111789b5c99557ae to your computer and use it in GitHub Desktop.
객체지향 OOP
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
인터페이스 : 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