JAVA
추상화, 상속, 객체지향의 장점
즐기는플머
2020. 8. 11. 04:05
- 추상화
- 추상화는 다른 객체들과 구분되는 핵심적인 부분(업무 로직을 포함한 기능)에 집중하여, 복잡도를 관리할 수 있게 해 준다.
- 추상 클래스 인터페이스 참고
- 추상화는 다른 객체들과 구분되는 핵심적인 부분(업무 로직을 포함한 기능)에 집중하여, 복잡도를 관리할 수 있게 해 준다.
- 상속
- 프로그램을 개발하다 보면 중복되는 속성과 기능을 개발해야 하는 일이 발생되는데 상속을 사용한다면 중복되는 기능을 반복하여 작업하지 않고 작업을 할 수 있게 해 준다.
(자식 클래스는 상속을 통해 부모 클래스의 속성과 기능을 물려받는다) - 또한, 다형성을 통해 변경이 필요한 부분을 변경하여 사용할 수 있다.
- 프로그램을 개발하다 보면 중복되는 속성과 기능을 개발해야 하는 일이 발생되는데 상속을 사용한다면 중복되는 기능을 반복하여 작업하지 않고 작업을 할 수 있게 해 준다.
- 객채 지향의 장점
- 클래스 분리하는 건 의미가 없다.
- 캡슐화를 예시
- 음료수 자판기 메서드및 드를 모두 public으로 개발하였을 시 다른 개발자가 음료수의 목록에 새로운 음료수를 추가한다고 하자. 그때 기존 음료수 자판기를사용헀던 class들은 모두 변경해줘야 한다. 왜냐하면 기존엔 새로 추가된 음료수를 염두에 두지 않고 개발했기 떄문이다.
- 이걸 '결합도'라고 하는데 변수는 private으로 선언 함으로써 내부에서만 사용하고 외부에서 필요한 메서드만 public으로 선엄함으로써 응집도는 강하게 하고 결합도는 낮춰야 프로그램 변경변경 요청 시 적은 양의 코딩으로 프로그램 수정이 가능해진다.