객체지향 프로그래밍

김나율·2022년 9월 21일
0

section2

목록 보기
3/15
post-thumbnail

◎객체지향 프로그래밍

  • 언어
    -절차적언어: 순차적인 명령의 조합
    -객체지향언어:’클래스’라고 부르는 데이터 모델의 청사진으로 사용해 코드 작성

  • OOP(객체 지향 프로그래밍)
    : 모든 것은 ‘객체’로 그룹화,한번 만들고 나면 메모리상에서 반환되기 전까지 객체 내의 모든 것이 유지됨

  • 객체 지향 프로그래밍의 주요 개념

    • 캡슐화: 데이터와 기능을 하나의 단위로 묶는 것
      -느슨한 결합: 코드 실행 순서에 따라 절차적으로 코드를 작성하는 것이 아니라, 코드가 상징하는 실제 모습과 닮게 코드를 모아 결합하는것
      =>언제든 구현을 수정할 수 있음
      -은닉화: 내부 데이터나 내부 구현이 외부로 노출되지 않도록 만드는 것
      => 동작만 노출시킴

    • 추상화: 내부 구현은 아주 복잡한데, 실제로 노출되는 부분은 단순하게 만든다.
      -인터페이스: 클래스 정의시, 메서드와 속성만 정의한것

      *캡슐화와 추사화의 차이점
      =>캡슐화는 코드나 데이터의 은닉에 포커스,
      추상화는 클래스를 사용하는 사람이 필요하지 않은 메서드 등을 노출시키지 않고, 단순한 이름으로 정의하는 것에 포커스

    • 상속: 부모 클래스의 특징을 자식 클래스가 물려받는것
      Ex) 상위 클래스는 사람, 하위클래스는 학생
      =>다시 구현하지 않고 학생의 본질은 사람이므로 상속이용하여 클래스 상속 가능

    • 다형성:똑같은 메소드라 하더라도, 다른 방식으로 구현될 수 있다.

  • oop의 주요 개념의 장점

    1. 캡슐화는 코드가 복잡하지 않게 만들고, 재사용성을 높인다
    2. 추상화는 코드가 복잡하지 않게 만들고, 단순화된 사용으로 변화에 대한 영향을 최소화한다.
    3. 상속도 불필요한 코드를 줄여 재사용성을 높인다.
    4. 다형성은 동일한 메서드에 대래 if/elseif 와 같은 조건문 대신 객체의 특성에 맞게 달리 작성이 가능하다

0개의 댓글