Java 개념정리 1일차

2026. 1. 12. 16:32대우개발원 수업 내용/Java 정리

반응형

[프로그래밍 언어와 자바]

기계어와 프로그래밍 언어

  • 기계어(machine language): 0과 1로 이루어진 코드
  • 사람과 기계어 사이의 다리 역할을 하는 것이 프로그래밍 언어
  • 소스(source) 파일: 프로그래밍 언어로 작성한 파일
  • 컴파일(compile): 소스 파일을 기계어 파일로 번역하는 과정

주요 프로그래밍 언어

  • 자바(Java): 임베디드, 웹, 안드로이드 소프트웨어 개발
  • C / C++: 하드웨어 제어, 임베디드 소프트웨어
  • C++ / C#: 데스크탑 애플리케이션, ASP.NET 웹
  • 파이썬(Python): 빅데이터 분석, 머신러닝

[자바(Java) 소개]

  • 1995년 Sun Microsystems에서 발표
  • 현재 웹과 다양한 애플리케이션 개발의 핵심 언어
  • 오라클(Oracle)에서 라이선스 및 배포

자바의 특징

  • 모든 운영체제에서 실행 가능
  • 객체지향 프로그래밍(OOP)
  • 메모리 자동 관리(Garbage Collection)
  • 풍부한 무료 라이브러리 제공

[자바 개발 도구 – JDK]

JDK(Java Development Kit)

  • 자바 프로그램 개발에 필요한 환경과 도구 모음

JDK 종류

  • OpenJDK
    • 개발·학습·상업용 모두 무료
  • Oracle JDK
    • 개발·학습용 무료
    • 상업용 사용 시 비용 발생
    • 장기 지원(LTS) 제공

학습용 JDK

  • 무료이며 안정적인 Oracle JDK 사용 권장

[JDK 설치 및 환경 변수]

JAVA_HOME 설정

  • JDK 설치 경로를 시스템 변수로 등록

Path 환경 변수

  • %JAVA_HOME%\bin 등록
  • javac, java 명령어를 어디서든 사용 가능

설치 확인

  • 명령 프롬프트에서
    javac -version 입력 후 정상 출력 확인

[이클립스(Eclipse)]

  • 무료 오픈소스 통합 개발 환경(IDE)
  • 자바 개발에 최적화
  • 플러그인으로 웹, C/C++ 개발 확장 가능

주요 개념

  • 워크스페이스(workspace)
    • 프로젝트와 메타데이터 저장 위치
  • 퍼스펙티브(perspective)
    • 개발 목적에 맞게 뷰를 묶은 화면 구성
  • 뷰(view)
    • 이클립스 내부의 개별 창

[자바 프로그램 실행 구조]

바이트 코드 파일과 JVM

  • 자바 소스 → 컴파일 → 바이트 코드(.class)
  • 바이트 코드는 운영체제에서 직접 실행 불가
  • JVM(Java Virtual Machine)이 기계어로 변환 후 실행

프로그램 개발 과정

  • 프로젝트 생성
  • 소스 파일 작성
  • 컴파일
  • 실행

[모듈(Module) – Java 11 이후]

모듈

  • 재사용 가능한 패키지들의 묶음
  • 이클립스의 프로젝트 = 하나의 모듈

모듈 기술자(module-info.java)

  • 모듈 이름
  • 의존 모듈
  • 외부 공개 범위 정의

의존 모듈

  • 기본: java.base
  • 필요 시 java.sql, java.desktop 등 추가

모듈화의 이유

  • 패키지 보안 강화
  • 최소한의 런타임 환경 구성 가능

[프로그램 소스 기본 구조]

  • 패키지 선언
  • 클래스 선언
  • 메소드 선언

예시 구조

  • 클래스: 프로그램의 기본 단위
  • 메소드: 기능 단위 실행 블록

[주석]

주석의 특징

  • 코드 설명용
  • 컴파일 시 무시됨

주석 종류

  • 한 줄 주석: //
    • 단축키: Ctrl + /
  • 여러 줄 주석: /* */
    • 단축키: Ctrl + Shift + /

[실행문과 세미콜론]

실행문

  • main() 메소드 내부에 작성
  • 실제 동작하는 코드

세미콜론(;)

  • 모든 실행문의 끝에 반드시 작성
  • 실행문 종료 표시

'대우개발원 수업 내용 > Java 정리' 카테고리의 다른 글

Java 개념정리 6일차  (0) 2026.01.12
Java 개념정리 5일차  (0) 2026.01.12
Java 개념정리 4일차  (0) 2026.01.12
Java 개념정리 3일차  (0) 2026.01.12
Java 개념정리 2일차  (0) 2026.01.12