반응형


Java의 큰 특징 중 한가지이다



Java의 특징 


1. 객체지향언어

 기존의 구조적 프로그래밍을 획기적으로 개선한 기법으로 재사용성이나 프로그램의 생산성 향상 측면에서 상당히 우수하다. Java는 설계될 때부터 객체지향을 고려해서 설계하여 거의 완벽한 객체지향기법을 제공한다. 이는 프로그램이나 기타기술과 연계시 매우 큰 유연성을 주게된다.

 

2. 플랫폼에 독립적이다.

 이전에는 시스템이 윈도우용인지 유닉스용인지 아니면 회사에 따라 서로 다른 프로그램을 작성해야 하고, CPU가 32비트인지 64비트인지에 따라 오작동하는 경우가 많았지만 Java로 프로그램을 작성하면 한번 만들어진 프로그램은 운영체제나 CPU에 상관없이 프로그램이 동작한다. 이러한 기능이 가능한 것은 Java Virtual Machine이라는 자바가상머신이 자바로 작성된 프로그램에게 동일한 실행환경을 제공하기 때문에 플랫폼에 상관없이 돌아가므로 플랫폼의 독림성이라고 한다.

 

3. 메모리의 관리가 자동적이다.

 이전에 프로그램을 작성할 시에는 메모리를 할당해서 사용한 후에 사용이 끝나면 이를 해제시키는 작업이 반드시 필요했다. 하지만 자바에서는 개발자가 메모리를 관리하지 않아도 된다. Garbage Collector가 자동적으로 사용되지 않는 메모리 영역을 찾아서 해제시켜주기 때문에 메모리 관리의 대해서 편리해졌다.

 

4. 멀티스레드를 사용한다.

 이전 프로그램을 작성하다보면 동시에 일을 처리하는 경우가 있는데 한번에 한가지씩 처리되지 않기 때문에 상당히 오랜 시간이 걸렸다. 하지만 Java는 쓰레드라는 기능을 언어적 차원에서 제공하여 하나의 프로그램 안에서 같이 실행되기때문에 메모리의 공유가 가능하면서 프로그램이 보다 효율적으로 실행 될 수 있다.

 

5. 동적인 성능 확장 제공

 Java가 세상에 결정적으로 인상을 준 것은 미리 설치 되지 않은 프로그램이 서버로부터 동적으로 다운로드되어 웹브라우저에서 실행 할 수 있다는 점이다. 기존 SW는 한번 배포가 되면 새로운 기능을 추가하기 위해서 현재 설치되어있는 모든 SW를 교체하여야만 하는데 기존 SW에 새로운 기술을 적용한다는 것은 어려우나 Java의 경우는 네트워크에서 연결되어있기만 하면 자동으로 SW의 성능을 확장시킬 수 있게 된다. 따라서, SW의 사용자들이 늘 새로운 기능을 사용할 수 있게 된다.



  

- 객체 지향 정의

 효율적으로 정보를 관리하기 위해서 실세계에 존재하는 하나의 단위에 대해 의미를 부여하고 분류하는 논리적인 단위이다.

 

- 객체지향언어란 무엇일까?

 절차지향언어의 다른 개념이 객체지향언어이다. 우선 절차지향언어는 C언어를 대표적으로 들 수 있는데, 프로그램을 수행하게 되면 위에서부터 차례대로 수행하는 것이 절차지향언어이다. 프로그램이 진행 중에는 다른 자료형을 선언 할 수 없기 때문에 구조체나 자료형들이 모두 미리 정의가 되어 있어야 한다. 즉, 절차지향언어는 명령들의 나열이라고 볼 수 있다.

 

 객체 지향 언어와 절차 지향 언어의 큰 차이점으로는 클래스와 객체가 있느냐 없느냐의 차이이다.

 

클래스란 ?

 객체를 정의해 놓은 것으로 클래스의 용도는 객체를 생성하는데 사용된다.

하나의 객체에는 객체의 자료형, 맴버 변수, 속성, 맴버 메소드 등이 포함된다.

 

객체란 ?

 클래스에 정의된 내용대로 메모리에 생성된 것을 말하며, 객체의 용도는 객체가 가지고 있는 기능과 속성에 따라 달라진다. 그리고 선언해 놓은 그 객체를 다른 프로그램에 이식, 상속하여도 사용이 가능하다. 구조체나 자료형들이 모두 미리 정의도어 있어야 하는 C언어와는 다른 점이다.

 

 클래스와 객체를 정의, 선언하고 그들 위주로 프로그래밍을 하기 때문에 객체지향언어라 불린다.



↓ 공감 을 눌러주시면 블로거에게 큰 힘이 됩니다 !

반응형

블로그 이미지

SkyBaby

부부가 운영하는 정보 공유 공간입니다. 다양한 일상, 요리, 맛집탐방, 게임, 공부 등의 정보를 담고 있습니다.