본문 바로가기

다형성2

[OOP] 정적 의존관계 vs 동적 의존관계 ㅇ정적 의존관계(Static Dependency): 컴파일 시간에 결정되며, 주로 클래스 간의 관계를 의미쉽게 이야기해서 프로그램을 실행하지 않고, 클래스 내에서 사용하는 타입들만 보면 쉽게 의존관계를 파악할 수 있다.특징:컴파일 타임: 정적 의존관계는 코드가 컴파일될 때 결정된다. 즉, 소스 코드에서 어떤 클래스가 다른 클래스를 참조하거나 사용하는 경우, 이 의존관계가 컴파일러에 의해 확인된다.명시적 선언: 클래스가 다른 클래스를 사용하는 경우, 그 클래스의 인스턴스를 생성하거나 메서드를 호출하는 코드가 명시적으로 작성된다.파일 참조: Java에서는 import 문을 통해 다른 클래스를 참조하거나 사용하는 것을 확인할 수 있다.   ㅇ동적 의존관계(Dynamic Dependency): 프로그램이 실행되.. 2024. 8. 20.
[OOP] OCP(개방 폐쇄 원칙)과 디자인 패턴 ㅇ개방 폐쇄 원칙(OCP, Open-Closed Principle): 아주 좋은 객체 지향 설계 원칙 중 하나이다 - 확장에는 열려 있어야 한다(Open for extension) 소프트웨어 엔티티(클래스, 모듈, 함수 등)는 새로운 기능을 추가하거나 확장할 수 있어야 한다이 확장은 기존 코드를 변경하지 않고, 새로운 코드 추가를 통해 이루어져야 한다 - 변경에는 닫혀 있어야 한다(Closed for modification) 기존의 소프트웨어 엔티티는 변경되지 않아야 한다즉, 새로운 요구 사항이나 기능이 추가되더라도 기존의 코드를 수정하지 않고 기능을 확장할 수 있어야 한다 쉽게 이야기해서 "기존의 코드 수정 없이 새로운 기능을 추가"할 수 있다는 의미다. OCP는 소프트웨어를 보다 유연하게 만들어, 변.. 2024. 8. 12.