Shape 상속해서 하는거 맞잖아 인터페이스랑 추상클래스랑 별차이 없는데?
OCP (Open/Closed Principle) - 개방/폐쇄 원칙
기존 코드를 수정하지 않고도 새로운 기능을 추가할 수 있도록 설계되어야 합니다.
java
Copy code
// Bad example (violating OCP)
class Shape {
void draw() {
// draw shape
}
}
class Circle extends Shape {
void draw() {
// draw circle
}
}
// Adding a new shape requires modifying existing code
// Good example (following OCP)
interface Shape {
void draw();
}
class Circle implements Shape {
void draw() {
// draw circle
}
}
class Rectangle implements Shape {
void draw() {
// draw rectangle
}
}
Shape.draw() 수정하면 다 영향받잖음
저건 추상메소드잖음
왜? 아무 키워드도 없는데
? 내부 로직은 구현 안한게 추상메소드잖아 저게 딱 그렇고
그냥 is ~a 인지 has~a 인지로 사용하면 되는건가..
구현 안한건 편의상이고 주석보면 draw shape 돼있잖음 몰겠네 나도