• AI글쓰기 2.1 업데이트
자바 프로그래밍 기초 개념 및 실습
본 내용은
"
명품 JAVA Programming(개정5판) [개정5판] 연습문제 챕터 1
"
의 원문 자료에서 일부 인용된 것입니다.
2025.06.03
문서 내 토픽
  • 1. 자바 언어의 기본 특징
    자바는 제임스 고슬링에 의해 개발되었으며, 처음에는 Oak라는 이름으로 가전제품에서 동작하는 소프트웨어를 만들기 위해 개발되었다. 자바의 핵심 철학은 'Write Once, Run Anywhere(WORA)'로, 한 번 작성한 프로그램이 하드웨어나 운영체제에 상관없이 어디서나 실행 가능하다. 이는 자바 가상 기계(JVM)를 통해 실현되며, 플랫폼 독립적인 특성을 가진다.
  • 2. 자바 컴파일 및 실행 과정
    자바 소스 파일의 확장자는 .java이며, 컴파일하면 .class 파일(바이트 코드)이 생성된다. 자바는 링크 과정 없이 컴파일러가 바로 바이트 코드를 생성한다. 생성된 클래스 파일은 자바 가상 기계가 설치된 어떤 곳에서도 실행되며, 자바 응용프로그램을 개발하려면 JDK(Java Development Kit)가 필요하다.
  • 3. 자바의 주요 특징
    자바는 가비지 컬렉션 기능이 있어 사용하지 않는 메모리를 자동으로 수거한다. 포인터가 없기 때문에 프로그램 작성이 상대적으로 쉽다. 서로 관련 있는 클래스 코드들을 패키지에 모아 배포할 수 있다. 클래스 바깥에 전역 함수와 전역 변수를 둘 수 없다는 것이 자바의 특징이다.
  • 4. 자바 파일 구조 및 클래스 파일 생성
    자바 소스 파일은 public class의 이름으로 저장해야 한다. 하나의 자바 파일에 여러 클래스가 포함될 경우, 컴파일 시 각 클래스마다 별도의 .class 파일이 생성된다. 내부 클래스의 경우 OuterClass$InnerClass.class 형식으로 파일명이 생성되며, 중첩된 내부 클래스는 OuterClass$InnerClass$NestedClass.class 형식이 된다.
Easy AI와 토픽 톺아보기
  • 1. 자바 언어의 기본 특징
    자바는 객체지향 프로그래밍 언어로서 플랫폼 독립성이 가장 큰 강점입니다. 'Write Once, Run Anywhere' 철학으로 JVM 위에서 실행되어 운영체제에 관계없이 동일하게 작동합니다. 강타입 언어로서 컴파일 시점에 타입 검사를 수행하여 런타임 오류를 줄일 수 있습니다. 또한 자동 메모리 관리(가비지 컬렉션)로 개발자의 부담을 덜어줍니다. 풍부한 표준 라이브러리와 활발한 커뮤니티 지원으로 다양한 분야에서 널리 사용되고 있으며, 엔터프라이즈 애플리케이션 개발에 매우 적합한 언어입니다.
  • 2. 자바 컴파일 및 실행 과정
    자바의 컴파일 및 실행 과정은 두 단계로 나뉩니다. 먼저 자바 컴파일러(javac)가 소스 코드(.java)를 바이트코드(.class)로 변환합니다. 이 바이트코드는 플랫폼 독립적이며 JVM이 이해할 수 있는 중간 언어입니다. 다음으로 JVM이 바이트코드를 해석하고 실행합니다. JVM은 Just-In-Time(JIT) 컴파일러를 통해 자주 사용되는 코드를 기계어로 변환하여 성능을 최적화합니다. 이러한 두 단계 프로세스는 플랫폼 독립성을 보장하면서도 적절한 성능을 제공하는 효율적인 방식입니다.
  • 3. 자바의 주요 특징
    자바의 주요 특징은 객체지향성, 플랫폼 독립성, 보안성, 멀티스레딩 지원 등을 포함합니다. 객체지향 설계로 코드의 재사용성과 유지보수성이 높습니다. 캡슐화, 상속, 다형성 등의 원칙을 통해 확장 가능한 구조를 만들 수 있습니다. 보안 기능으로는 접근 제어자(public, private, protected)와 예외 처리 메커니즘이 있습니다. 멀티스레딩 지원으로 동시성 프로그래밍이 가능하며, 네트워킹 기능도 기본으로 제공됩니다. 이러한 특징들이 결합되어 안정적이고 확장 가능한 대규모 애플리케이션 개발에 적합합니다.
  • 4. 자바 파일 구조 및 클래스 파일 생성
    자바 파일 구조는 패키지 선언, import 문, 클래스 정의로 구성됩니다. 패키지는 클래스들을 논리적으로 조직화하고 네임스페이스를 제공합니다. import 문으로 다른 패키지의 클래스를 참조할 수 있습니다. 클래스 파일 생성 과정에서 javac 컴파일러는 각 public 클래스마다 별도의 .class 파일을 생성합니다. 생성된 클래스 파일은 바이트코드로 이루어져 있으며, 메타데이터, 상수 풀, 메서드 코드 등을 포함합니다. 이러한 구조는 모듈화와 재사용성을 높이며, 대규모 프로젝트에서 코드 관리를 효율적으로 합니다.
주제 연관 리포트도 확인해 보세요!