1. 자바(Java)
Java는 1990년대 초 제임스 고슬링이 처음 개발
Java는 간단하고 휴대가능하며 안전하도록 설계되어 다양한 플랫폼에서 실행할 수 있는 애플리케이션 프로그래밍 언어
2. 자바(Java)의 특징
* 자바(Java)의 대표적인 특징 *
1. OOP(객체 지향 프로그래밍)
2. 플랫폼 독립성
3. 메모리 관리
4. 멀티 쓰레드 지원
5. 동적로딩 지원
2-1. OOP(객체 지향 프로그래밍)
- 캡슐화(Encapsulation) : 캡슐화란 데이터와 메서드를 하나의 단위로 묶고 데이터를 보호
- public : 모든 클래스에서 접근 가능
- protected : 해당 객체를 상속받은 클래스에서 접근 가능
- private : 클래스 내부에서만 접근 가능
- default : 동일한 패키지 내에서만 접근 가능
- 상속(Inheritance) : 부모 클래스의 변수와 메서드를 물려받아 재사용 하는 기능
- 기존 코드를 재사용하여 중복 코드를 줄일 수 있다
- Java의 최상위 클래스는 Object이다
- 자바는 단일 상속만 지원한다
- 추상화(Abstraction) : 세부 사항을 숨기고 중요한 기능만 노출하여 복잡성을 줄이는 기능
- 객체에서 공통된 속성과 행위를 추출
- 추상클래스, 인터페이스를 통해 구현된다
- 추상 클래스(Abstract Class) : 하나 이상의 추상 메서드를 포함한 클래스
- 인터페이스(Interface) : 모든 추상메서드를 포함한 클래스. 다중 상속 지원
- 다형성(Polymorphism) : 하나의 객체가 여러가지 타입을 가질 수 있는 것을 의미
- 오버로딩, 오버로딩으로 다형성 표현
2-2. 플랫폼 독립성
- 어떠한 운영체제라도 독립적으로 자바언어를 사용할 수 있다
- 그이유는 JVM이 Java Code를 Compiler하여 Byte 코드로 변환하여 컴퓨터에 전달
2-3. 메모리 관리
- Java의 가비지 컬렉터는 더이상 사용되지 않는 객체를 제거하여 메모리 관리를 해준다.
2-4. 멀티 쓰레드 지원
- Java는 하나의 프로그램에서 여러 개의 쓰레드를 동시에 실행 가능
- 애플리케이션 성능과 효율성을 개선하는데 도움
2-5. 동적로딩 지원
- 필요하지않는 객체는 생성되지 않고, 필요한 객체만 생성하여 사용한다
- 유지보수에 도움
'Java' 카테고리의 다른 글
[Java] JSON 객체 다루기(JSONObject, JSONArray) (0) | 2024.08.02 |
---|---|
[Java] ArrayList 내부 구조 파헤치기(크기, 메모리 구조, 내부 동작 과정) (0) | 2024.07.30 |
[Java] 자바 컬렉션 프레임워크(Collection Framework) (0) | 2024.06.19 |
[Java] 클래스 란? (0) | 2024.06.11 |
[Java] JVM(Java Virtual Machine)의 동작 과정 간단정리 (0) | 2024.06.03 |