OOP의 개념과 특징

이진섭·2022년 12월 6일
0

cs공부

목록 보기
6/6

OOP란?

  • 문제를 여러 개의 객체 단위로 나눠 작업하는 방식으로 객체들이 서로 상호 작용하는 프로그래밍 이론이다.
  • 코드의 재사용성과 생산성의 향상 효과를 볼 수있고, 유지보수가 편리하다.

객체지향 프로그래밍(OOP)는 네 가지의 특징을 가진다

캡슐화

  • 캡슐화란 데이터와 코드의 형태를 함께 묶어 외부에서 알 수 없도록 하고, 데이터의 구조와 역할/기능을 하나의 캡슐형태로 구현하는 방법이다.
  • private getter() setter()
  • 응집도를 높이고 결합도를 낮춤

추상화

  • 추상화는 객체의 공통적인 속성과 기능을 추출하여 정의하는 것을 말한다.
  • 추상화는 코드 설계도와 같으며, 코드를 추상적 개념으로 작성하여 설계에 유연한 변경을 할 수 있도록 한다.

상속

  • 상속이란 기존 상위 클래스에 기능을 가져와 재사용할 수 있으면서도 동시에 새로운 하위 클래스에 새로운 기능도 추가할 수 있는 것이다.
  • 상속을 한 클래스를 부모 클래스, 상속을 받는 클래스를 자식 클래스라고 한다

다형성 -> 가장 중요

  • 다형성이란 상속과 연관있는 개념으로 한 객체가 상속을 통해 기능을 확장하거나 변경하여 다른 여러 형태로 재구성 되는 것을 의미한다
  • 한 부모밑에서 태어난 자식들이 모두 다르네?
  • 오버로딩과 오버라이딩
  • 오버로딩은 하나의 클래스 안에서 같은 이름의 메소드를 사용하지만, 각 메소드마다 다른 용도로 사용되는 형태(파라미터가 다름) - 리턴타입은 같아야 함
  • 오버라이딩은 하위 클래스가 상위 클래스에서 만들어진 메소드를 재정의
  • 다형성을 사용하면 같은 이름의 속성을 유지함으로서 속성을 사용하기 위한 인터페이스는 유지하고, 메소드의 이름을 낭비하지 않는다.

객체지향 프로그래밍은 4가지 특성을 통해 어떤 대상을 추상화하여 공통점을 찾고, 캡슐화하여 한 군데에 모아 객체를 만들고, 새로운 객체가 상속받아 재사용이 가능하도록 하고, 다형성을 통해 기능을 수정 또는 추가하여 재사용할수 있다.

profile
하루하루성장하기

0개의 댓글