Programming/JAVA
[JAVA] JAVA의 특징(자바)
HoonSikE
2022. 2. 18. 01:08
반응형
SMALL
JAVA란?
객체 지향 프로그래밍 언어로서 C/C++에 비해 간략하고 쉬우며 네트워크 기능의 구현이 용이하기 때문에, 인터넷 환경에서 가장 활발히 사용되는 프로그래밍 언어이다. 자바 프로그램은 운영체제의 종류에 관계없이 대부분의 시스템에서 실행 가능하다.
JAVA의 분류
자바는 응용프로그램, 서버, 임베디드 등 다양한 플랫폼을 제공한다. 이에 사용되는 종류별로 플랫폼 화하여 분류된다.
● J2SE(Java SE) : Java 2 Standard Edition
- 가장 기본적이고 표준적인 JAVA 버전으로 주로 데스크톱 환경용 응용 프로그램을 만드는 데 사용한다.
● J2EE(Java EE) : Java 2 Enterprise Edition
- 웹 서비스, 네트워킹, 서버 측 스크립팅 및 다양한 웹 기반 응용 프로그램 개발에 사용한다.
- 가장 널리 사용되는 웹 개발 표준 중 하나로 HTML, CSS, JavaScript 등을 지원한다.
● J2ME(Java Me) : Java 2 Moblie Edition
- 모바일을 위한 버전이지만 현재는 거의 사용되지 않는다.
JAVA의 특성
1. 이식성이 높다. (JVM : Java Virtual Machine)
- 자바 가상 머신이란, JAVA와 OS 사이에서 중개자 역할을 수행하여 서로 다른 운영 체제(OS), 다른 CPU에서도 같은 코드를 사용이 가능하게 함으로써 재사용성을 높인다.
- Write Once, Run Anywhere
- 메모리 관리, Gabage Collection 기능
2. 단순하고 견고한 언어
- C++ 언어와 비슷한 구문 사용
- 다중 상속, 구조체, 전역 변수, 연산자 중복기능들을 제거하여 언어의 복잡성을 제거
- 자동적으로 쓰레기 처리
i) 메모리 포인터를 사용하지 않는다. (내부 포인터 사용)
ii) 사용되지 않는 메모리를 자동으로 회수 (Garbage Collection)
- 명시적 선언 및 엄격한 형 검사
ex) float num = 9.7f;
- 예외처리
3. 완벽한 객체지향 언어이다. (OOP : Object Oriented Programming)
- OOP의 특징 (APIE)
i) Abstraction(추상화)
- 공통된 속성이나 기능을 묶어서 이름을 붙임
- 개체 사용 시 그 안에 정확히 어떤 데이터가 있는지 알 필요 없음
ii) Polymorphism(다형성)
- 여러 개의 형태를 가짐 ex) 오버 로딩(매서드 중복 정의), 오버 라이딩 (매서드 재정의)
iii) Inheritance(상속)
- 상위 클래스의 데이터를 하위 클래스가 이어받는 것
- 이미 존재하는 개체를 기반으로 확장된 개체를 만드는 방법
iv) Encapsulation(캡슐화)
- 서로 연관이 있는 데이터와 알고리즘을 하나로 묶어서 하나의 캡슐과 같은 형태로 만드는 것
- 정보은닉 : 개체 안에 있는 데이터를 외부로부터 보호
- 프로그램의 재사용, 생산성 향상
- 설계 단계부터 객체지향 개념을 고려
- 자식 객체가 부모 객체로부터 상속을 받으면 부모 객체의 데이터와 메서드를 사용할 수 있음
4. 분산 환경에 적합한 언어
- TCP/IP 네트워킹 기능을 내장
5. 안전한 언어 (Secure)
- 바이트 코드 검증기를 통해 코드를 검증
- JAVA애플릿이 클라이언트에서 실행될 때 사용할 수 없는 기능의 리스트가 된다.
6. 다중 쓰레드 지원
- 다중 쓰레드 : 여러 개의 작업을 동시에 실행할 수 있는 기능
- 쓰레드와 관련된 라이브러리 클래스 제공
7. 동적인 언어
- 기존 프로그램의 영향을 미치지 않고 라이브러리에 새로운 메서드나 속성을 추가할 수 있다.
JVM (Java Virtual Machine)의 메모리
1. 스택 영역 (Runtime Stack) : 실행 시 사용하는 메모리 영역
2. 힙 영역 (Garbage Collection Heap) : 동적 메모리 할당 영역
3. 상수 영역 (Constant & Code Segment) : 상수 데이터 및 static 데이터 할당 영역
4. 레지스터 영역 (Process Register) : 프로세서 실행 관련 메모리 할당 영역
Java의 실행 과정
*.java 파일 → 컴파일(javac) → *.class 파일 → 인터프리터(java) → 실행
JAVA List
JAVA List
Start Java!!! ● 1 ● 2 기회는 준비된 자에게 찾아온다.
han-hoon.tistory.com
기회는 준비된 자에게 찾아온다.

반응형
LIST