JAVA : 객체 지향 언어의 특징 & 장점, 단점
JAVA를 객체지향 언어라고 하는데 객체지향언어란 무엇일까?
알아보기 앞서 객체가 무엇인지 부터 알아보자
※ 객체[Object]
객체란 주변에 있는 모든 사물을 말한다
※ 객체지향언어[Object-oriented Language]
※ 객체지향언어의 4가지 특징
1. 캡슐화
데이터와 코드의 형태를 외부로부터 알 수없게 하고, 데이터의 구조와 역할, 기능을 하나의 캡슐형태로 만드는 방법
2. 상속
상위 클래스의 모든걸 하위 클래스가 모두 이어 받는것
3. 다형성
한 객체가 다른 여러형태(객체)로 재구성 되는 것
대표적인 예로 오버로드, 오버라이딩이 있다.
4.추상화
공통적인 속성과 기능을 추출하여 정의하는 것
객체지향언어의 장점
1. 재사용성
상속을 통해 프로그래밍시 코드의 재사용을 높일 수 있음.
2. 생산성 향상
잘 설계된 클래스를 만들어서 독립적인 객체를 사용함으로써 개발의 생산성을 향상시킬 수 있음.
3. 자연적인 모델링
우리 일상생활의 모습의 구조가 객체에 자연스럽게 녹아들어 있기 때문에 생각하고 있는 것을 그대로 자연스럽게 구현할 수 있다.
4. 유지보수의 우수성
프로그램 수정시 추가, 수정을 하더라도 캡슐화를 통해 주변 영향이 적기때문에 유지보수가 쉬워서 매우 경제적이라할
수 있다.
객체지향언어의 단점
1. 개발속도가 느린점
객체가 처리하려는 것에 대한 정확한 이해가 필요하기에 설계단계부터 많은 시간이 소모 된다.
2. 실행속도가 느린점
객체지향언어는 대체적으로 실행속도가 느리다.
3. 코딩난이도 상승
다중 상속이 지원되는 C++ 같은 경우에 너무 복잡해져 코딩의 난이도가 상승할 수 있다.