끄적끄적 메모장
[JavaScript] 추상클래스, 추상메소드에 대해서 알아보자 본문
JavaScript는 Java에 비해서 객체지향을 지원을 하지 않으며 추상클래스와 추상메소드를 문법적으로 지원하지 않지만, JavaScript의 기본 문법을 활용하여 유사한 추상클래스와 추상메소드 동작을 구현하는 방법을 알아보자.
먼저 개념에 대해서 공부해보자.
추상메소드란?
부모 클래스에서 정의하며, 자식 클래스에서 반드시 오버라이딩해야만 사용할 수 있는 메소드를 말합니다. 그러므로 추상 메소드는 구현부가 없고, 선언부만이 존재합니다.
자바에서 추상 메소드를
추상 클래스란?
추상 메소드를 하나 이상 포함한 클래스이며, 정의되지 않은 추상 메소드를 포함하고 있으므로, 인스턴스를 생성할 수 없습니다. 그러므로 추상 클래스는 상속만 가능합니다.
class AbstractClass {
abstractMethod() {
throw new Error("추상 메소드입니다. 하위 클래스에서 구현해야 합니다.");
}
normalMethod() {
// 일반 메소드의 구현
}
}
추상 클래스를 구현하는 일반 클래스를 정의해줍니다. 이 클래스는 추상 메소드를 모두 포함하여,이 메소드들은 예외를 발생시키거나 기본 구현을 제공합니다.
추상 메소드를 정의할 때, 예외를 발생시키는 방법을 사용합니다. 이는 해당 메소드가 하위 클래스에서 반드시 재정의되어야 함을 나타냅니다. 예를 들어
class ConcreteClass extends AbstractClass {
abstractMethod() {
// 추상 메소드의 구현
}
}
위의 방식은 JS에서 추상 클래스와 메소드의 개념을 구현하는 일반적인 방법입니다. 하지만 주의해야 할 점은 이 방식이 엄격한 제약이나 에러 검사를 제공하지 않기 떄문에 사용하기에 위험 부담이 갑니다.
'프론트엔드 > JavaScript' 카테고리의 다른 글
[JS] 기본타입과 참조타입의 차이점 (0) | 2023.12.01 |
---|---|
[JS] 전역 스코프 / 함수 스코프 / 블록 스코프 의 차이 (0) | 2023.11.21 |
[JavaSript] window, screen, location, navigator 객체에 대해서 알아보자 (0) | 2023.05.02 |
[JavaScript] 문자열을 활용한 예제를 공부해보자 (0) | 2023.05.02 |
[JavaScript] 문자열에 대해서 알아보자 (0) | 2023.05.02 |
Comments