728x90
반응형
SMALL
Java란?
제임스 고슬링과 선 마이크로시스템스 연구원들이 개발한 객체 지향 프로그래밍 언어이다. 가전제품이나 휴대용 장치 등에 사용하는 SW를 만들기 위해 독립적으로 작동하는 더 안정된 프로그래밍 언어가 필요하여 개발된 언어이다.
Java의 특징이자 장점
- 운영체제에 독립적(이식성이 높음)
- 어디서든 실행 가능
- 객체지향언어
- 절차 지향 언어와 다르게 객체를 만들고 결합하여 프로그램 개발
- 캡슐화
- 클래스 안에 관련 있는 변수와 함수를 하나의 클래스로 묶고 외부에서 직접 접근을 할 수 없게 하는 것
- 접근제어자 : public, private, protected, default
- 상속
- 상위 클래스와 하위 클래스가 있고 하위 클래스는 상위 클래스를 선택하여 해당 상위 클래스를 상속받아 사용
- 즉 기존 클래스를 재활용
- 다형성
- 하나의 객체가 여러 가지 타입을 가질 수 있는 것을 의미
- 추상화
- 클래스들의 공통 요소를 뽑아 클래스를 만드는 것
- 즉, 완성된 것이 아닌 미완성된 클래스이다
- 추상 클래스를 기반으로 한 인스턴스 생성은 불가하다
- 사용하기 쉬운 언어
- C나 C++의 포인터와 같은 복잡한 특징들 제거
- 자동 메모리 관리 (Garbage Collection)
- JVM이 자동으로 메모리를 관리해 줌
- 프로그램이 안정적
- 풍부한 기능을 제공하는 오픈 소스
Java의 단점
- 수행속도가 느리고 메모리를 많이 소비함
JVM (Java Virtual Machine)
자바를 실행하기 위한 가상 기계로 플랫폼에 의존적 (운영체제 별로 다르다 ex) Windows일 경우 Windows JVM)
728x90
반응형
LIST
'Java' 카테고리의 다른 글
[JAVA] 객체지향 프로그래밍의 4가지 특징 (OOP의 4가지 특징) (0) | 2025.02.14 |
---|---|
[JAVA] 자바 - 객체 간의 상속의 의미 (0) | 2025.02.11 |
[Java] JDK 17설치 및 환경변수 설정 (0) | 2023.11.06 |
[JAVA] 자바 - 자바에서 제공되는 자료구조 구현 클래스들 (0) | 2022.01.10 |
[JAVA] 자바 - <T extends 클래스> 사용하기 (0) | 2022.01.10 |