<aside> 📚

객체지향 프로그래밍의 4대 특성

  1. 캡슐화 → 외부에서 접근을 제어하는 것
  2. 상속 → 부모 클래스의 속성과 기능을 자식 클래스가 물려받는 것
  3. 추상화 → 중요한 정보만을 표현하고 불필요한 사항은 숨기는 것
  4. 다형성 → 같은 타입의 참조변수가 여러가지 형태를 가질 수 있는 것 </aside>

상속(추상 클래스)

public abstract class ParentHouse {

    public void openDoor() {
        System.out.println("부모님 집 문을 열었습니다.");
    }
}
public class ChildHouse extends ParentHouse {
}

ChildHouseParentHouse를 상속받아서 openHouse()라는 메서드를 정의하지 않고도 사용할 수 있다.

인터페이스

필수로 구현해야 하는 것을 미리 정의하여 규격을 정의하는 것

Service / Factory / Provider

구조를 잡아서 자주 수정되는 쪽과 절대 수정되지 않는 쪽을 나눈다.