[자바] 객체지향 4가지 핵심요소

이도훈·2021년 8월 23일
0

Spring

목록 보기
3/6

안녕하세요.
이번 글에서는 객체지향 4가지 핵심요소에 대해 알아보겠습니다.


  • 캡슐화
  1. 캡슐화의 효과 : 캡슐화는 객체의 속성(Variable)을 보호하기 위해 사용합니다.

    객체의 캡슐화는 실제 현실에서도 볼 수 있습니다. 컴퓨터 본체 안에 많은 부품이 있지만, 전원을 켜기 위해서는 메인보드에 전기 신호를 직접 주는 것이 아닌, 외부 케이스에 있는 전원 버튼을 통해 상태 속성을 on/off 하도록 변경합니다.

  2. Method 설계

    • 속성이 선언되었으나, 이의 상태를 변경하는 method가 없다면, 잘못 선언된 속성이다.
    • 실물 객체가 가진 기능을 모두 제공해야 한다.
      ex) 자동차 렌탈, 반납, 주행거리 계산 등
    • 각각의 Method는 서로 관련이 있어야 한다.
      차량의 렌탈/반납, 자동차 등록증 등록/해지 등 각 속성의 상대 되는 기능을 제공해야 한다.
    • 객체 안의 Method는 객체 안의 속성을 처리해야 하며, 다른 객체를 전달받아 해당 다른 객체에 정의된 속성을 직접 처리하면 안 된다.
      -> Method 실행에 필요한 값들은 객체 형태가 아닌 매개변수 형태로 전달되어져야 한다 (?)
    • Getter / Setter Method
      외부에서 내부 속성(Variable)에 직접 접근 하는 것이 아닌 Get,Set Method를 통해 접근하도록 적용
    • CRUD Method
      데이터 처리를 위한 기본적인 CRUD Method를 제공
  3. 장점

    객체지향의 패러다임 중 하나인 추상화를 제공한다.
    실제로 Method가 어떻게 동작하는지는 외부에서 이해할 필요가 없으며, 이를 단순 호출만으로 해당 기능을 실행할 수 있고, 이를 통해 객체 단위로 프로그램 설계가 가능하다.

    재사용성 향상
    한 객체에 관련된 속성 및 Method는 모두 캡슐화의 형태로 제공됨으로 객체의 모듈성과 응집도가 높아진다. 이를 통해 재사용성이 높아진다.

    위의 장점들로 인해, 유지보수 효율성이 높아진다.

  4. 무결성

    • 캡슐화 코딩은 주로 변수는 private 로 선언하고, Method를 public 으로 선언하는 형태를 가집니다.
    • 이는 객체의 무결성을 위함입니다. Getter/Setter 를 제외하고 public method는 입력된 매개변수를 Validation을 한 후 실행하는 것을 기본으로 합니다.

  • 상속
    : 객체지향에서의 상속은, 속성의 상속이 아닌, 하위로 내려갈수록 구체화되는 것입니다.
  1. 상속의 효과
    • 프로그램 구조에 대한 이해도 향상
      최상위 클래스의 구조를 보고 하위 클래스의 동작을 이해할 수 있습니다.
    • 재사용성 향상
      상속을 이용해 해당 클래스에 필요한 속성 및 메소드를 모두 정의하지 않고, 상속을 받아 사용할 수 있습니다.
    • 확장성 향상
      일관된 형태의 클래스 객체를 추가할 수 있어, 간단하게 프로그램 확장이 가능합니다.
    • 유지보수성 향상

  • 다형성
    : 다형성은 하나의 개체가 여러 개의 형태로 변화하는 것을 말하며, 이를 객체지향에서도 유사하게 사용하고 있습니다.
    다형성은 오버라이딩을 통해 가능합니다.

  • 추상화
    : 객체지향에서의 추상화는 모델링이다.
    구체적으로 공통적인 부분, 또는 특정 특성을 분리해서 재조합하는 것이 추상화입니다. 앞서 나온 다형성, 상속 모두 추상화에 속합니다.

감사합니다.

profile
back-end developer

0개의 댓글