본문 바로가기
728x90
300x250

javaScript515

상속과 합성의 차이 상속합성부모 클래스의 특징을 자식 클래스가 상속받아 사용하는 방식클래스가 다른 클래스의 인스턴스를 포함하여 사용하는 방식클래스 간의 계층 구조를 만들어 코드를 재사용하고 확장하는데 사용클래스 간의 결합도를 줄이고 모듈화된 코드를 작성하는데 사용하위 클래스가 상위 클래스의 메소드를 재정의 하여 다양한 동작을 수행할 수 있다.외부 클래스의 객체를 내부에 포함하여 그 객체의 메소드를 호출함으로써 다양한 동작을 수행한다.부모 클래스의 변경이 하위 클래스에 영향을 줄 수 있으며, 클래스 간의 결합도가 높아질 수 있다.외부 객체와의 결합도가 낮아져 유연한 코드를 작성할 수 있다.  상속과 합성은 사용 용도에 맞게 선택해야 한다.상속은 반드시 IS-A관계과 성립할때 사용해야 한다.상속은 재사용 목적보다 부모 기능 확.. 2024. 5. 8.
합성(Composition) 합성은 다른 객체를 포함하여 기능을 확장하는 방법을 말한다. 필요한 기능을 구현하고 있는 객체와 합성해서 기능을 사용하는 것을 말하며 기능을 구현하고 있는 객체와 사용하는 객체 간의 관계를 합성관계라고 한다. // Engine 클래스 정의class Engine { constructor(horsepower) { this.horsepower = horsepower; } start() { console.log("Engine started."); }}// Car 클래스 정의class Car { constructor(make, model, engine) { this.make = make; this.model = model; this.engine = engine; } star.. 2024. 5. 2.
자바스크립트에서의 다형성 다형성은 하나의 메소드나 함수가 여러 객체에 대해 다른 동작을 수행하는 능력을 의미하며 선언부분과 구현부분으로 나눠 구성된다. 자바를 예로 다형성을 살펴보자 // 인터페이스 선언 interface Animal { void speak(); } // Dog 클래스는 Animal 인터페이스를 구현함 class Dog implements Animal { public void speak() { System.out.println("Dog barks."); } } // Cat 클래스도 Animal 인터페이스를 구현함 class Cat implements Animal { public void speak() { System.out.println("Cat meows."); } } public class Main { // .. 2024. 4. 15.
오버라이드와 다형성의 차이 오버라이드 하나의 메소드를 재정의하는 것, 부모 클래스의 동일한 이름을 가진 메소드를 자식 클래스에서 덮어쓴다 주로 상속 관계에서 발생하며, 단일 클래스 내에서 이루어진다. 상속 계층 구조에서 메소드의 동작을 변경하거나 확장하는 데 사용된다. 다형성 하나의 메소드나 함수가 여러 객체에 대해 다른 동작을 수행하는 능력을 의미한다. 상속, 인터페이스, 오버로딩 등을 통해 구현될 수 있으며, 주로 객체 지향 프로그래밍에서 많이 사용된다. 같은 이름의 메소드를 여러 클래스나 객체에 적용함으로써 코드의 재사용성과 유연성을 높인다. 2024. 4. 2.
728x90
반응형