[Java] Java 기초 - 언어 소개

Hyunjun Kim·2025년 3월 28일
0

Data_Engineering

목록 보기
10/153

1. Java

1.1. 자바 언어의 목적

  1. Java는 객체 지향 프로그래밍이 가능한 언어로 고안되었다.
  2. Write Once, Run Anywhere
    한 번 작성하면 어디에서나 실행된다. 자바로 개발된 프로그램은 자바 실행 환경(JRE)가 설치된 모든 환경에서 실행이 가능하다는 것이다.

JRE : Java Runtime Environment

1.2 자바 언어의 특징

자바 언어의 장점

  1. 1995년 탄생한 이후로 꾸준히 축적된 노하우로 안정성이 좋다. 안정성 때문에 꾸준히 기업용 소프트웨어에서 기본 언어 및 환경 으로 채택하는 경우가 많다.
  2. 오랜기간 개발된 오픈소스 라이브러리가 많다. 다양한 사람들이 개발하고 공유하는 방대한 라이브러리를 사용하면 개발 시간을 단축할수 있고 안정적으로 프로그램을 만들수 있다.

자바 언어의 한계

  1. 정적 타입 언어다. Python, Javascript 같은 동적 타입 언어보다 초심자들에게 프로그래밍이 어렵게 느껴지는 편이다.
  2. 처음 정해진 타입 시스템의 한계 때문에 더 유연하고 견고한 코드를 만들기 어려운 점이 있다.

무슨 얘기냐면

Java는 한 번 변수의 타입이 정해지면 변경할 수 없는 정적 타입 언어이기 때문에 안정성은 높지만, 다양한 타입을 유연하게 처리하거나, 코드의 재사용성을 높이는 데 한계가 있다.

예를 들어,

public void printNumber(int num) { 
    System.out.println(num); 
}

이렇게 int 타입만 받도록 하면 double, String 같은 다른 타입을 넣을 수 없다. 만약 여러 타입을 처리하려면 오버로딩을 하거나 제네릭을 써야 해서 번거로워질 수 있음!

즉, 유연한 설계가 어렵고, 코드가 더 복잡해질 수 있는 한계가 있다는 의미다.


예전에 정해진 Java의 문법은 호환성과 안정성을 이유로 근본 문제를 해결하는 큰 업데이트를 할 수 없었다. 전세계의 많은 개발자들 이 자바를 대체하는 새로운 언어를 사용하며 개발하고 있다. 배우기 쉬우면서도 자바의 단점을 극복한 정적 타입 언어 중 대표적인 것 으로는 Kotin, GoLang 등이 있다.
최신에 만들어진 데이터 엔지니어 도구들 중에 고랭으로 만들어진 것도 꽤 있다고 한다.

자바 언어의 한계에도 불구하고 사용하는 이유

  1. 레퍼런스(인터넷 검색결과)가 많아 배우기 가장 쉬운 객체지향 언어다.
  2. 언어가 다르더라도 실행환경은 자바의 구동환경인 JVM에서 동작하는 언어들이 많다. 대표적으로 Scala, Kotlin 등.
    Java를 익히면서 배우는 JVM에 대한 지식은 언어가 바뀌더라도 계속해서 유효하다.
  3. 안정성이 중요한 기업용 소프트웨어, 대용량 데이터를 다루기 위한 도구들은 대부분 JVM, Java 기반으로 만들어져있다. 오랜시간 운영해야하는 유지보수, 그동안 쌓인 노하우, 그리고 생태계 때문에 쉽게 Java 언어를 대체할 수 없다.
  4. 안정성이 중요한 기업용 소프트웨어는 Java, JVM을 기반으로 하는 것이 많기 때문에 자연스럽게 취업시장에서도 수요가 많다.
    여전히 국내외에는 Java 개발자를 구하는 곳이 많으며, 특히 백엔드 개발자로 커리어를 생각하는 경우 대표적인 자바 프레임워크인 Spring이라는 프레임워크를 통해서 비교적 쉽게 커리어를 시작할 수 있다.
profile
Data Analytics Engineer 가 되

0개의 댓글