객체지향언어 요약

sg-moomin·2022년 2월 13일
1

이번에 다뤄볼 포스팅은 절차지향에 대한 내용입니다.

1. 절차지향과 객체지향

  1. 절차지향(순차적인 처리)
    • 프로시저 호출의 개념을 바탕으로 하고 있는 프로그래밍이라고 보면 된다.
    • 함수들의 집합으로 구성되어 연속적으로 처리하는 방법을 말한다.
    • 이 방법은 실행속도가 빠르다는 장점이 존재했으나 현재는 객체지향을 주로 사용한다.
    • 그 이유는 유지보수가 어렵다는 단점이 존재하기 때문이다.

  2. 객체지향
    • 절차와 달리 객체들의 집합으로 구성되다.
    • 객체들의 집합으로 프로그램이 유연하며 변경이 쉽게 가능하여 최근에도 많이 사용된다.

2. 객체지향 특징

  1. 상속

    • 클래스들 사이에서 관계를 가진다고 볼 수 있다.
    • 즉 새로 만든 클래스가 기존의 클래스의 자료와 연산을 이용할 수 있다는 것이다.
    • 새로운 클래스는 자식(서브)클래스, 기존 클래스는 부모(수퍼)클래스라고 부르며 상속을 통해 기존의 클래스를 상속받아 객체를 조직화 가능하다.
  2. 다형성

    • 객체의 유형에 따라서 동일한 명칭의 메소드를 다른 역할로 사용 가능하다는 의미이다.
    • 이는 오버라이딩, 오버로딩을 말한다.
    • 다형성을 통해 객체의 관계를 조직화 가능하다.
  3. 캡슐화

    • 외부에서 객체 내부의 자료와 메소드에 대한 접근을 하지 못하도록 통제하는 것을 말한다.
    • 이는 객체의 접근은 오직 공개된 자료와 공개된 메소드만 가능하다는 것을 말한다.
    • 이에 따라 private, public으로 나눠 공개여부를 구분 가능하다.

3. 객체지향 장단점

  • 장점
    • 재사용성
      • 상속을 통해 기존의 코드 사용하여 표현 가능하며 이는 새로운 프로그램 개발시에 재사용성을 높일 수 있다.
    • 유지보수가 간편
      • 수정 및 기능 추가 시 캡슐화 되어 있어서 주변에 미치는 영향은 적지만 상속을 통해서 기존 코드를 사용가능하기 때문에 유지보수적인 측면에서 효율적이다.
    • 직관적인 코드 분석
      • 객체로 구분되어 직관적으로 객체,매소드별 코드 분석이 쉬움
    • 모델링이 좋음
      • 생각하는 방식대로 개발 가능하기 때문
  • 단점
    • 절차지향에 비해 실행속도가 느림
profile
backend 개발자를 꿈꾸는 직장인입니다.

0개의 댓글