자바의 정의

  • 자바는 썬 마이크로시스템즈에서 개발하여 1996년 1월에 공식적으로 발표한 객체지향 프로그래밍 언어

자바의 특징

1. 객체 지향 프로그래밍 (OOP)

프로그래밍을 개발하는 기법으로 , 부품에 해당하는 객체들을 먼저 만들고 객체들을 조립 및 연결하여 전체 프로그램을 완성 하는 것

캡슐화

  • 하나의 객체에 대해 그 객체가 특정한 목적을 위한 필요한 변수나 메소드를 하나로 묶는 것
  • 가장 중요한 목적은 정보은닉으로 캡슐화를 하면 불필요한 정보를 감출 수 있음

추상화

  • 객체들의 공통된 특징을 파악해 정의해 놓은 설계 기법
  • 인터페이스와 추상클래스

다형성

  • 형태가 같은데 다른 기능을 하는 것
  • 한 레퍼런스 변수가 다른 형태의 객체를 참조할 수 있음
  • 오버로딩, 오버라이딩 등등

상속성

  • 기존 상위클래스에 근거하여 새롭게 클래스와 행위를 정의할 수 있도록 도와주는 개념
  • 코드의 중복을 없애기 위함

2. 높은 이식성

  • 이식성 : 서로 다른 환경을 가진 시스템 간에 프로그램을 옮겨 실행할 수 있는 것
  • 자바가 JVM 위에서 돌아가고 JVM에서는 별도의 Java Compiler 를 통해 사용자의 코드를 Byte 코드로 변환하기 때문에 모든 자바 프로그램은 자바 실행 환경 (JRE) 이 설치되어 있는 모든 운영체제에서 실행 가능

3. 자동 메모리 관리 (gc)

  • 자바는 가비지 컬렉션을 사용해 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요없게 된 영역을 자동으로 해제

4. 멀티 쓰레드 지원

  • 하나의 프로그램에서 여러 개의 쓰레드가 동시에 실행할 수 있는 환경을 지원
  • 동시에 여러가지 작업을 하는 경우 , 대용량 작업을 빨리 처리할 경우 사용 필요

ㅇㅇ

5. 동적 로딩

  • 실행 시 모든 클래스가 로딩되지 않고, 필요한 시점에 클래스를 로딩해서 객체를 생성
  • 그때그때마다 메모리에서 불러오기 때문에 프로그램 실행 속도가 정적로딩에 비해 느림

정리

자바의 정의

자바는 객체지향 프로그래밍 언어

자바의 특징

객체 지향 프로그래밍 , 높은 이식성 , 자동 메모리 관리, 멀티 쓰레드 지원, 동적 로딩 등이 있음

레퍼런스

[JAVA] 자바(Java) 언어의 특징

[JAVA 파헤치기]1. 자바의 특징

JAVA :: 자바란? 자바의 특징(객체지향, 메모리관리, 멀티스레드, 동적로딩, 오픈소스)