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

suebeen·2021년 8월 7일
0

Java

목록 보기
2/7
post-thumbnail

객체지향 프로그래밍

  • 객체지향 프로그래밍이란? 프로그램을 객체로 구성하는 것!
  • 프로그램의 동작을 객체들에게 나눠서 수행하고 객체들끼리 서로 협력한다.
  • 개념적인 용어 : 객체 / 기술적인 용어 : class, instance

객체지향의 특징

  1. 캡슐화
    • 정보가 은닉되어있다 ⇒ 객체의 정보가 밖에서 접근하거나, 밖에서 객체 내의 정보에 접근하지 못하게 한다.
    • 객체는 스스로 동작할 수 있는 환경을 갖고 있어야 한다 ⇒ 외부에게 의존하거나, 외부의 침략을 제한!
    • 접근지정자

  1. 상속
    • 상위, 부모, super [추상] / 하위, 자식, (this) [구체]
    • ex) 원자 > 물질 > 생물 > 동물 > 포유류 > 사람 > 남자 > 짱구
  2. 추상화
    • 추상화된 객체 : 추상체 / 구체적인 객체 : 구상체
    • 객체간의 관계에서 상위에 있는 것이 항상 하위보다 추상적이야 한다.
    • 추상화는 객체들의 공통된 특징을 파악해 정의해 놓은 설계 기법이라고 할 수 있다.
  3. 다형성
    • 다형성은 상속을 통해 기능을 확장하거나 변경하는 것을 가능하게 해준다.
    • 이를 통해 코드의 재사용, 코드 길이 감소가 되어 유지보수가 용이하도록 도와준다.

객체지향 설계

  1. UML

    객체지향 프로그래밍을 설명하기 위한 도구

    • Usecase Diagram
    • Sequence Diagram
    • Package Diagram
    • Class Diagram
  2. 객체지향 설계를 하는 5가지 원칙

    • SRP (Single Responsibility Principle) : 단일 책임 원칙
    • OCP (Open-Closed Principle) : 개방 폐쇄 원칙
    • LSP (Liskov Substitution Principle) : 리스코프 치환 원칙
    • ISP (Interface Segragation Principle) : 인터페이스 분리 원칙
    • DIP (Dependency Inversion Principle) : 의존관계 역전 원칙

    Design Patterns 디자인 패턴

0개의 댓글