13. final keyword
- field 앞에 final이 올 경우 : 해당 필드가 값을 변경할 수 없다 . → 상수로 사용
- method 앞에 final 이 올 경우 : overriding 못함.
- Class 앞에 final이 올 경우 : 해당 클래스를 아예 상속 할 수 없다.
14. abstract class ( 추상 클래스 )
- 메서드의 선언만 있고, 정의가 없다.
- 선언만 되어있는 메서드 - 추상 메서드
- 클래스 내에 추상 메서드가 단 1개라도 존재한다면, abstract class로 잡아야 한다.
- 아직 완성되지 않은 클래스 → 인스턴스를 직접적으로 파생시킬수 없다.
💡 왜 abstract class를 사용하는가?
- class간의 결합도를 낮추면서 사용할 수 있다.
15. interface
- 클래스 대용으로 사용 ( 특수한 경우 사용 )
- interface안에 method는 모두 추상 메서드.
- public abstract는 포함해준다. ( 생략 )
- Interface 안에 field도 나올 수 있다. 상수만 가능. → final
- 인스턴스를 만들어야 필드를 사용할 수 있는데 인터페이스는 직접 만들 수 없다. → 메서드 area에 만들어야함 → static 으로 올리는 방법밖에 없다. public static final 은 무조건 붙어서 생략 가능.
- 인터페이스 사용 → 구현해서 사용한다. implements
- 인터페이스에서 인터페이스를 상속 받아 확장할 때는 extends 를 사용한다.
- class의 확장과 다르게, 인터페이스는 다중 구현이 가능하다.
- is - a relationship이 성립한다
Interface - Abstract Class의 가장 큰 차이는 다중 상속의 차이... !
'Java' 카테고리의 다른 글
Java 문자열 처리 (0) | 2024.04.04 |
---|---|
Java 기본 Class (0) | 2024.04.04 |
JAVA 예외처리, Thread (0) | 2024.04.04 |
JAVA 객체지향 (0) | 2024.04.02 |
인프런 워밍업 클래스 5일차 과제 (0) | 2024.02.23 |
13. final keyword
- field 앞에 final이 올 경우 : 해당 필드가 값을 변경할 수 없다 . → 상수로 사용
- method 앞에 final 이 올 경우 : overriding 못함.
- Class 앞에 final이 올 경우 : 해당 클래스를 아예 상속 할 수 없다.
14. abstract class ( 추상 클래스 )
- 메서드의 선언만 있고, 정의가 없다.
- 선언만 되어있는 메서드 - 추상 메서드
- 클래스 내에 추상 메서드가 단 1개라도 존재한다면, abstract class로 잡아야 한다.
- 아직 완성되지 않은 클래스 → 인스턴스를 직접적으로 파생시킬수 없다.
💡 왜 abstract class를 사용하는가?
- class간의 결합도를 낮추면서 사용할 수 있다.
15. interface
- 클래스 대용으로 사용 ( 특수한 경우 사용 )
- interface안에 method는 모두 추상 메서드.
- public abstract는 포함해준다. ( 생략 )
- Interface 안에 field도 나올 수 있다. 상수만 가능. → final
- 인스턴스를 만들어야 필드를 사용할 수 있는데 인터페이스는 직접 만들 수 없다. → 메서드 area에 만들어야함 → static 으로 올리는 방법밖에 없다. public static final 은 무조건 붙어서 생략 가능.
- 인터페이스 사용 → 구현해서 사용한다. implements
- 인터페이스에서 인터페이스를 상속 받아 확장할 때는 extends 를 사용한다.
- class의 확장과 다르게, 인터페이스는 다중 구현이 가능하다.
- is - a relationship이 성립한다
Interface - Abstract Class의 가장 큰 차이는 다중 상속의 차이... !
'Java' 카테고리의 다른 글
Java 문자열 처리 (0) | 2024.04.04 |
---|---|
Java 기본 Class (0) | 2024.04.04 |
JAVA 예외처리, Thread (0) | 2024.04.04 |
JAVA 객체지향 (0) | 2024.04.02 |
인프런 워밍업 클래스 5일차 과제 (0) | 2024.02.23 |