[Java]객체 지향(Object-Oriented Programming, OOP)

coldbrew·2023년 8월 16일
0

객체 지향 프로그래밍(Object-Oriented Programming, OOP)

컴퓨터 프로그램을 어떤 데이터를 입력받아 순서대로 처리하고 결과를 도출하는 명령어들의 목록으로 보는 시각에서 벗어나 여러 독립적인 부품들의 조합, 즉 객체들의 유기적인 협력과 결합으로 파악하고자 하는 컴퓨터 프로그래밍의 패러다임.

객체 지향 프로그래밍의 4가지 특징

  1. 캡슐화
  2. 상속
  3. 추상화
  4. 다형성

객체지향 프로그래밍의 5가지 설계 원칙, SOLID

  1. 단일 책임의 원칙(SRP, Single Responsibility Principle)
  2. 개방 폐쇄 원칙 (OCP, Open-Closed Principle)
  3. 리스코프 치환 원칙 (LSP, Liskov Substitution Principle)
  4. 인터페이스 분리 원칙 (ISP, Interface segregation principle)
  5. 의존 역전 원칙 (DIP, Dependency Inversion Principle)

단일 책임의 원칙 - SRP

하나의 메서드는 한 가지 책임만 가져야 한다.

개방 폐쇄 원칙 - OCP

확장에는 열려있으며, 수정에는 닫혀있어야 한다.

리스코프 치환 원칙 - LSP

자식 클래스는 부모 클래스의 자리를 바꿔도 프로그램이 제대로 동작해야 한다.

인터페이스 분리 원칙 - ISP

인터페이스를 사용성에 맞게끔 잘 설계해야 한다.

의존 역전 원칙 - DIP

상위 모듈은 하위 모듈에 의존하면 안 되며, 둘 다 추상화에 의존해야 한다.

0개의 댓글