오늘 배운 거 위주로 정리를 해놓으려고 합니다. 꾸준히 계속 정리를 해 나가는 것으로🤗🤗
개발자가 자유롭게 필요시에 직접 객체 생성가능한 클래스이며, 다형성을 반영한 부모타입의 변수를 사용하는 것이 가능하다.
- 구성 요소 : 멤버변수, 생성자, 메서드
- 부모클래스
- 부모 선언 형식 :
public class 부모 클래스명 {}
- 자식클래스 (상속) : 선택
- 자식클래스 선언 형식 :
public class 자식클래스명 extends 부모클래스명 {}
추상 클래스는 미완성의 클래스(추상 클래스)
이며 미완성 메서드(추상메서드)
를 갖는다. 직접 객체를 생성하는 것이 불가능하다. 🌈 추상메서드가 존재시에는 반드시 추상클래스를 쓰고, 추상메서드가 없어도 상속을 강제하기 위해서 추상클래스를 쓴다. 🌈
- 구성 요소 : 멤버변수, 생성자, 메서드 + [추상메서드]
- 부모 추상 클래스
- 부모 선언 형식 :
public abstract class 부모 추상클래스명 { public abstract 반환타입 추상메서드명(args); }
- 자식클래스 (상속) : 필수
- 자식클래스 선언형식 :
public class 자식클래스명 extends 부모추상클래스명 {}
인터페이스는 ⭐ 다중 구현 (표준화, 일반화) ⭐ 이 가능하다는 특징을 가지고 있다.
- 구성요소 : "추상메서드", "상수"로만 구성된 클래스 형태
추상메서드
: 인터페이스에 선언되어 있는 메서드는 자동으로public abstract
표기함상수
: 인터페이스에 선언되어 있는 멤버변수는 자동으로public static final
표기함
- 부모 인터페이스
- 선언 형식 :public interface 부모인터페이스명 { public 타입 상수명 = 상수값; public 반환타입 추상메서드명(args); }
- 자식 클래스 (상속) : 필필수
- 자식 클래스(구현)
public class 자식클래스명 implements 부모인터페이스명1, 부모인터페이스명2 {}
- 자식 인터페이스(상속)
public interface 자식인터페이스명 extends 부모인터페이스명 {}
=> 인터페이스들 끼리도 상속관계가 가능하다. =>extends
를 쓴다.
어떤 것을 사용해야할지 감이 안 올 때 보통 이렇게 많이 쓰는 것 같다.