자바의 특징
2023. 3. 13. 23:08ㆍJava/Java 원리
1. 자바란?
- 썬에서 개발하여 발표한 객체지향 프로그래밍 언어 (현재 운영 회사 오라클)
- 다양한 기종의 컴퓨터와 운영체제가 공존하는 인터넷 환경에 적합한 언어로 인터넷 발전과 함께 많은 사용자층 확보
- 풍부한 클래스 라이브러리를 제공한다
2. 자바 언어의 특징
2-1. 장점
- 플랫폼 독립성: java는 JVM 덕분에 다양한 운영체제에서 동일한 코드를 실행할 수 있다.
- 객체지향 프로그래밍(OOP) 지원: Java는 철저한 객체지향 언어로, 캡슐화, 상속, 다형성과 같은 OOP의 원칙을 체계적으로 구현할 수 있다.
- 풍부한 라이브러리와 프레임워크: Spring, Hibernate, Maven 등과 같은 생태계를 통해 백엔드와 클라우드 기반 애플리케이션 개발에서 강점을 발휘한다.
- 안정성과 강력한 커뮤니티 지원: Java는 다년간 사용되며 안정성과 신뢰성을 확보한 언어이며, 방대한 커뮤니티로 인해 문제 해결과 학습 자료가 풍부하다.
- 대규모 애플리케이션에 적합: Java는 유지보수성과 확장성이 뛰어나, 대규모 프로젝트에서 활용하기 적합하다. 은행 시스템, 엔터프라이즈 애플리케이션 등에서 널리 사용된다
- 메모리 자동 정리, 네트워크와 분산처리, 멀티쓰레드, 동적로딩 지원
2-2. 단점
- 상대적으로 긴 코드량: Python과 같은 언어에 비해 더 많은 코드량이 필요해 간단한 작업에서는 효율성이 떨어질 수 있다.
- 속도 문제: C나 C++과 같은 저수준 언어에 비해 속도가 느릴 수 있다. JVM을 거쳐 실행되기 때문에 네이티브 언어보다 성능 면에서 뒤처질 때가 있다.
- 메모리 사용량: JVM 기반으로 동작하기 때문에 메모리 사용량이 상대적으로 많아, 리소스가 제한적인 환경에서는 적합하지 않을 수 있다.
- 초심자에게 어려울 수 있는 OOP 개념: 객체지향 개념에 익숙하지 않은 초심자에게는 진입 장벽이 있을 수 있다.
2-3. 다른 언어와의 비교
- C와의 비교: C는 OS 및 하드웨어에 가까운 저수준 언어로, 포인터를 활용한 직접적인 메모리 관리를 지원한다. 반면, Java는 메모리 관리를 자동화(Garbage Collection)하여 프로그래머가 신경 쓸 부분을 줄인다.
- Python과의 비교: Python은 Java보다 더 간결하고 배우기 쉬운 문법을 가지고 있으며, 데이터 과학, AI, 웹 개발 등에 강점이 있다. Java는 엔터프라이즈 애플리케이션과 같이 안정성과 확장성이 필요한 환경에서 더 적합하다.
- Kotlin과의 비교: Kotlin은 Java와 JVM을 공유하면서도 더 간결한 문법과 현대적인 프로그래밍 기능(Null 안정성 등)을 제공한다. Kotlin은 특히 Android 개발에서 Java를 대체하는 주요 선택지로 자리 잡고 있다.
3. JAVA API
- 자바에서 제공하는 클래스 라이브러리
- 방대한 양이라 모두 공부하기 보다 자주 사용되는 것을 공부하고 사전처럼 찾아서 사용하면 된다
- Java API 문서를 잘 읽고 이해하는 것이 중요
4. 자바 주석
- 범위주석: /* 주석내용 */
- 한 줄 주석: //주석내용
5. 실행문과 세미콜론(;)
- 실행문은 변수 선언, 값 저장, 메소드 호출에 해당하는 코드를 말한다.
- 실행문 끝에는 에는 반드시 세미콜론을 붙여서 실행문이 끝났음을 표시해주어야 한다
- 그렇지 않으면 컴파일 에러가 발생한다.