Kim VamPa

객체지향언어란? 본문

공부/자바

객체지향언어란?

Kim VamPa 2020. 3. 17. 17:20
728x90
반응형

목표

  • 객체지향 개념은 무엇인가?
  • 객치지향의 특징은 무엇인가?
  • 객체지향의 장단점은 무엇인가?
  • 객체지향을 사용하고있는 언어는 무엇이 있는가?

 

객체지향 프로그래밍(Object-oriented programming)이란?

  • 객체지향 프로그래밍이란 '객체'라는 개념을 기반으로한 프로그래밍 패러다임중 하나이다.
  • 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 '객체'들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다.
  • 객체지향의 기본 개념은 '실제 세계는 사물(객체)로 이루어져 잇으며, 발생하는 모든 사건들은 사물간의 상호작용이다.' 이다.

특징은 무엇인가?

  • 자료 추상화
    : 불필요한 정보는 숨기고 중요한 정보만을 표현함으로써 프로그램을 간단히 만드는 것
  • 상속
    : 새로운 클래스가 기존의 클래스의 자료와 연산을 이용할 수 있게 하는 기능
  • 다중 상속
    : 클래스가 2개 이상의 클래스로부터 상속받을 수 있게 하는 기능
  • 다형성
    : 어떤 한 요소에 여러 개념을 넣어 놓는 것(오버라이딩, 오버로딩 이에 해당)
  • 캡슐화
    : 데이터(속성)와 데이터를 처리하는 함수를 하나로 묶은 것을 의미

 

장점

  • 재사용성
    : 새로운 코드를 작성할 때 기존의 코드를 이용해서 쉽게 작성할 수 있게 함
  • 생산성 향상
    : 객체지향에서 궁극적인 목표는 잘 설계된 클래스를 만들어 라이브러리로 재사용하는 것이며 이를 이용함으로써 개발의 생산성을 향상시킬 수 있음
  • 코드의 관리가 용이
    : 코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다.
  • 유지보수의 용이성
    : 객체지향 프로그램은 기존의 기능을 수정하더라도 캡슐화로 인해 주변에 미치는 영향이 적어 시스템을 유지하기 수월함

 

 

 

단점

  • 캡슐화의 격리 구조 설계로 인한 성능 하락이 있다.
  • 개념을 기준으로 나누었기때문에 반복 연산이 컴퓨터 친화적이지 않다.
  • 객체가 많아 질수록 성능이 하락한다.

 

 

Reference

DATE

  • 2020.03.17 글 등록

 

728x90
반응형
Comments