카테고리 없음

Java : 자바의 특징, 개념, 설명, 개요

얇은생각 2023. 2. 10. 07:30
반응형

Java : 자바의 특징, 개념, 설명, 개요

 

 

자바의 특징

Java 프로그래밍 언어 생성의 주요 목표는 이식 가능하고 단순하며 안전한 프로그래밍 언어를 만드는 것이었습니다. 이것 외에도, 이 언어의 인기에 중요한 역할을 하는 몇 가지 훌륭한 특징들이 있습니다. Java의 기능은 Java 유행어라고도 합니다.

Java 언어의 가장 중요한 기능 목록이 아래에 나와 있습니다.

- Simple

- 객체 지향

- Portable

- 플랫폼에 독립적

- 안전

- 튼튼

- 아키텍처 중립

- 통합

- 고성능

- 다중 스레드

- 분산형

- 동적

 

 

 

Simple

자바는 배우기 매우 쉽고, 구문은 간단하고, 깨끗하고, 이해하기 쉽습니다. Sun Microsystem에 따르면 Java 언어는 다음과 같은 이유로 단순한 프로그래밍 언어입니다.

Java 구문은 C++를 기반으로 합니다.

Java는 명시적 포인터, 연산자 오버로드 등과 같이 복잡하고 거의 사용되지 않는 많은 기능을 제거했습니다.

Java에 자동 가비지 컬렉션이 있으므로 참조되지 않은 개체를 제거할 필요가 없습니다.

 

 

 

객체 지향

Java는 객체 지향 프로그래밍 언어입니다. 자바의 모든 것은 객체입니다. 객체 지향이란 데이터와 동작 모두를 포함하는 다양한 유형의 객체의 조합으로 소프트웨어를 구성하는 것을 의미합니다.

객체 지향 프로그래밍(OOP)은 몇 가지 규칙을 제공하여 소프트웨어 개발 및 유지 관리를 단순화하는 방법론입니다.

OOP의 기본 개념은 다음과 같습니다.

 - 객체

- 클래스

- 상속

- 다형성

- 추상화

- 캡슐화

 

 

 

플랫폼 독립적

Java는 플랫폼에 독립적입니다.

자바는 플랫폼 전용 머신으로 컴파일되는 C, C++ 등과 같은 다른 언어와는 다르기 때문에 플랫폼 독립적입니다. 플랫폼은 프로그램이 실행되는 하드웨어 또는 소프트웨어 환경입니다.

소프트웨어 기반 플랫폼과 하드웨어 기반 플랫폼 두 가지 유형이 있습니다. Java는 소프트웨어 기반 플랫폼을 제공합니다.

Java 플랫폼은 다른 하드웨어 기반 플랫폼 위에 실행되는 소프트웨어 기반 플랫폼이라는 점에서 대부분의 다른 플랫폼과 다릅니다. 두 가지 구성 요소가 있습니다.

 

 

 

런타임 환경

API(애플리케이션 프로그래밍 인터페이스)입니다.

Java 코드는 Windows, Linux, Sun Solaris, Mac/OS 등과 같은 여러 플랫폼에서 실행될 수 있습니다. Java 코드는 컴파일러에 의해 컴파일되고 바이트 코드로 변환됩니다. 이 바이트 코드는 여러 플랫폼(: WORA)에서 실행할 수 있으므로 플랫폼에 독립적인 코드입니다.

 

 

 

안전

자바는 보안으로 가장 잘 알려져 있습니다. 자바와 함께, 바이러스가 없는 시스템을 개발할 수 있습니다. Java는 다음과 같은 이유로 보호됩니다.

 명시적 포인터가 없습니다.

Java 프로그램은 가상 시스템 샌드박스 내에서 실행됩니다.

 

Classloader: Java의 클래스 로더는 Java 클래스를 Java 가상 시스템에 동적으로 로드하는 데 사용되는 Java Runtime Environment(JRE)의 일부입니다. 로컬 파일 시스템의 클래스에 대한 패키지를 네트워크 원본에서 가져온 클래스에서 분리하여 보안을 추가합니다.

Bytecode verifier: 코드 조각에서 개체에 대한 액세스 권한을 위반할 수 있는 잘못된 코드가 있는지 확인합니다.

Security Manger: 클래스가 로컬 디스크에 대한 읽기 및 쓰기 등 액세스할 수 있는 리소스를 결정합니다.

 

Java 언어는 기본적으로 이러한 보안을 제공합니다. 일부 보안은 응용프로그램 개발자가 SSL, JAAS, 암호화 등을 통해 명시적으로 제공할 수도 있습니다.

 

 

 

튼튼

Java는 다음과 같은 이유로 강력합니다.

강력한 메모리 관리를 사용합니다.

보안 문제를 피할 수 있는 포인터가 부족합니다.

Java Java Virtual Machine에서 실행되는 자동 가비지 컬렉션을 제공하여 Java 응용 프로그램에서 더 이상 사용하지 않는 개체를 제거합니다.

Java에는 예외 처리 및 유형 검사 메커니즘이 있습니다. 이 모든 점들은 자바를 강하게 만듭니다.

 

 

 

아키텍처 중립적

Java는 구현에 종속된 기능이 없기 때문에 아키텍처 중립입니다. 예를 들어 기본 유형의 크기가 고정되어 있습니다.

C 프로그래밍에서 int 데이터 유형은 32비트 아키텍처의 경우 2바이트, 64비트 아키텍처의 경우 4바이트의 메모리를 차지합니다. 그러나 Java 32비트 및 64비트 아키텍처에서 4바이트의 메모리를 사용합니다.

 

 

 

Portable

Java Java 바이트 코드를 어떤 플랫폼으로든 쉽게 옮길 수 있기 때문에 휴대할 수 있습니다. 어떤 구현도 필요하지 않습니다.

 

 

 

고성능

Java 바이트 코드가 네이티브 코드에 "가까이" 있기 때문에 Java는 다른 전통적인 해석 프로그래밍 언어보다 빠릅니다. 컴파일된 언어(: C++)보다 아직 조금 느립니다. Java C, C++ 등과 같은 컴파일된 언어보다 느린 언어입니다.

 

 

분산형

Java는 사용자가 Java에서 분산 응용프로그램을 쉽게 만들 수 있도록 하기 때문에 배포됩니다. RMI EJB는 분산 애플리케이션을 만드는 데 사용됩니다. Java의 이 기능을 통해 인터넷 상의 모든 컴퓨터에서 메소드를 호출하여 파일에 액세스할 수 있습니다.

 

 

 

다중 스레드

스레드는 동시에 실행되는 별도의 프로그램과 같습니다.

여러 스레드를 정의함으로써 한 번에 많은 작업을 처리하는 자바 프로그램을 작성할 수 있습니다. 멀티 스레드의 주요 장점은 각 스레드의 메모리를 차지하지 않는다는 것입니다. 공통 메모리 영역을 공유합니다. 스레드는 멀티미디어, 웹 애플리케이션 등에 중요합니다.

 

 

 

동적

자바는 동적인 언어입니다. 클래스의 동적 로드를 지원합니다. 요청 시 클래스가 로드된다는 의미입니다. 또한 C C++와 같은 모국어의 기능도 지원합니다.

Java는 동적 컴파일 및 자동 메모리 관리(가비지 수집)를 지원합니다.

반응형