스프링의 객체지향(OOP) 4대 원칙

키요·2025년 9월 1일

공부

목록 보기
15/33

객체지향(OOP) 4대 원칙

  • 캡슐화 (Encapsulation): "어떻게 보호하고 감출 것인가?"
  • 추상화 (Abstraction): "무엇을 외부에 보여줄 것인가?"
  • 상속 (Inheritance): "어떻게 기존의 특징을 재사용하고 확장할 것인가?"
  • 다형성 (Polymorphism): "어떻게 서로 다른 객체를 동일한 방식으로 사용할 것인가?"

스프링에서의 OOP

OOP 원칙한 줄 정의스프링에서의 구현 예시
다형성하나의 타입으로 여러 다른 구현 객체를 다룰 수 있는 능력@Autowired를 통해 PaymentService라는 인터페이스 변수에 KakaoPayService, NaverPayService 등 다양한 실제 객체를 주입하는 것.
캡슐화내부 데이터와 로직을 숨기고, 외부에 공개된 기능만 제공하는 것모든 Bean 객체private 필드와 public 메서드로 구성되어, 내부 구현을 숨기고 외부와는 정해진 방식으로만 소통하는 구조.
추상화복잡한 내용은 숨기고, 핵심 기능(인터페이스)만 외부에 노출하는 것PaymentService라는 인터페이스를 통해 "결제한다"는 '무엇'만 정의하고, 실제 복잡한 구현은 각 클래스에 맡기는 설계 방식.
상속부모 클래스의 특징을 자식 클래스가 물려받는 것스프링은 상속보다 조립(Composition), 즉 @Autowired를 통한 부품 연결 방식을 더 권장하여 유연하고 확장성 높은 설계를 유도.

결론: 스프링은 IoCDI라는 핵심 원리를 통해 객체들을 부품처럼 관리하고 조립합니다. 이 과정에서 개발자는 자연스럽게 객체지향 4대 원칙에 따라 코드를 작성하게 되며, 이는 코드의 결합도는 낮추고 응집도는 높여 유연하고 유지보수하기 좋은 애플리케이션을 만들 수 있게 해주는 원동력입니다.

profile
운도 실력

0개의 댓글