JAVA

[JAVA] 자바의 특징

728x90
반응형

 


프로그래밍이란?

  • 프로그래밍 : 컴퓨터에게 일을 시키는 명령의 집합
  • 컴파일 : 프로그램이 프로그래밍 언어 문법에 잘 맞는지 확인하고, 컴퓨터가 이해할 수 있는 언어로 번역하는 과정
  • 플랫폼 : 프로그램이 실행되는 환경

 

자바의 특징

플랫폼에 종속되지 않아서 다양한 프로그램에서 사용할 수 있다.

 

출처 : http://net-informations.com/java/intro/jvm.htm

 

 윈도우를 기반 C언어로 설계한 프로그램이 있을 때, 이 프로그램은 리눅스나, 맥에서 작동하지 않는다. C언어와 같은 기존의 프로그램은 플랫폼에 따라 각기 다르게 실행파일을 만들어줘야 하는 번거로움이 있다.

 

 C언어와 달리 자바는 JVM(Java Virtual Machine)을 통해 실행되기 때문에 동일한 코드를 다양한 환경에서 실행할 수 있다. 자바의 프로그램을 실행(start)하면 가장 먼저 컴파일(바이트 코드, .class) 파일을 생성한다. JVM은 바이트 코드를 실행하고, 각 운영체제서 실행될 수 있는 완전한 실행 파일로 바꾸어주는 기능을 한다. 따라서 자바로 작성된 코드는 다양한 운영체제에서 실행이 가능하다.

 

객체지향 언어 (OOP) : 유지보수와 확장성

 객체지향 언어는 여러 객체의 상호 관계를 이용해서 프로그래밍 한다. 객체지향 언어로 프로그래밍을 하게 되면 공통으로 사용하는 부분을 수정하지 않더라고 새로운 기능을 쉽게 추가할 수 있다.

 

출처 : https://brownbears.tistory.com/407

 

※ 객체지향 언어의 특징

  • 추상화 : 공통 속성이나 기능을 도출
  • 캡슐화 : 외부에서의 접근을 제한하기 위해 인터페이스를 제외한 세부 내용을 은닉
  • 상속성 : 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받음
  • 다형성 : 하나의 객체에 여러가지 타입을 대입할 수 있다

 

프로그램이 안정적이다

 자바는 가비지 컬렉터가 사용하지 않는 동적 메모리를 주기적으로 수거한다. 프로그램에서 직접 메모리를 제어할 필요가 없기 때문에 오류발생의 위험성을 줄일 수 있다.

 

오픈소스를 사용할 수 있다

 자바 개발 키트(JDK)는 자료구조, 네트워크, 입출력, 예외 처리등에 최적화된 알고리즘 라이브러리를 제공한다. 개발자는 JDK를 활용해서 프로그램을 빠르게 완성할 수 있다. 자바에는 JDK와 같은 오픈 소스가 많이 개발되어 있어서 풍부한 기능을 사용할 수 있다. 

 

 


Memo

  • 클래스 : 추상 자료형
  • 객체 : 추상 자료형의 인스턴스
  • 메소드 : 추상 자료형에서 정의된 연산, 함수
  • 새성자 : 메소드의 호출

 

 

 

 

 

 

'JAVA' 카테고리의 다른 글

[JAVA] Collection Framework  (0) 2022.04.22