implements(구현)
부모 클래스에서 선언된 메서드를 하위 클래스에서 반드시 구현하게 하기위해 사용
inheritance(상속)
부모 클래스의 속성과 메서드를 재사용하기위해 사용, 인터페이스끼리 상속하여 타입 확장 가능
override
상속받은 부모 클래스의 메서드를 재정의 하는 것
abstract
메서드 선언만 하는 것도 가능, 메서드 선언과 메서드 정의를 하는 것도 가능, interface는 메서드 선언만 가능하지만 abstract는 메서드 선언과 정의 둘 다 가능
추상 클래스 | 인터페이스 | |
공통점 | - 하위 클래스에서 모든 추상 메서드를 구현해야 함 - 그 자체가 객체로 인스턴스화 될 수 없음 |
|
차이점 | - 추상 메서드, 일반 메서드, 일반 멤버 변수를 가질 수 있음 - extends 키워드 사용 |
- 추상 메서드와 상수만 가질 수 있음 - implements 키워드 사용 |
constructor
클래스의 인스턴스를 생성할 때 클래스 내부의 필드를 초기화하기 위해 사용, 이렇게 하면 객체의 상태를 예측가능하고 일관되게 유지 가능
자식 클래스에서 super를 호출하는 이유는 부모 클래스에서 정의한 필드를 초기화하고, 사용할 수 있게 하기 위해서
generic
다양한 타입을 재사용 가능할 수 있게 하는 것
function : 함수의 매개변수와 리턴 타입을 호출 시에 동적으로 할당하기 위해 사용
class : 클래스의 필드 타입을 동적으로 할당하기 위해 사용
TypeAlias : 동적으로 타입을 받을 수 있는 타입 별칭을 만들 수 있음
기본값 : 클래스의 타입에 기본값을 할당 할 수 있음
utility
유틸리티 타입은 타입의 설정을 도와줌
ReturnType : 함수의 리턴 타입만 추출해서 정의 가능
Parameters : 함수의 매개변수 타입만 추출해서 정의 가능
Partial : 타입의 모든 속성을 선택적으로 만들어주는 유틸리티 타입. 객체의 모든 속성에 대해 undefined를 허용하게 됨.
Required : 타입의 모든 속성을 필수로 만들어주는 유틸리티 타입
Readonly : 타입의 모든 속성을 읽기 전용으로 만들어주는 유틸리티 타입
'[LG 유플러스] 유레카 > Today I Learned' 카테고리의 다른 글
[TIL][02.07] String, Method, Arrays (0) | 2025.02.10 |
---|---|
[TIL][02.06] JAVA, JVM, TYPE, Garbage Collection (0) | 2025.02.06 |
[TIL][02.04] Array Iteration, Map, TS (0) | 2025.02.04 |
[TIL][02.03] ES6, SSR, CSR, SSG, SOP, CORS (0) | 2025.02.04 |
[TIL][01.24] JS, 배열, function, object, 생성자, Event, 반복문, Collection (0) | 2025.01.24 |