독하게 시작하는 JAVA part1-섹션 05

2024. 12. 12. 18:58언어들/자바

728x90
반응형

개발환경 구축

IntelliJ IDEA Community Edition 설치

https://www.jetbrains.com/idea/

 

IntelliJ IDEA – the Leading Java and Kotlin IDE

IntelliJ IDEA is undoubtedly the top-choice IDE for software developers. It makes Java and Kotlin development a more productive and enjoyable experience.

www.jetbrains.com

 

JDK, JRE

특징 JDK (Java Development Kit) JRE (Java Runtime Environment)
목적 Java 애플리케이션을 개발하고 실행하기 위한 도구입니다. Java 애플리케이션을 실행하기 위한 환경을 제공합니다.
구성 요소 JRE + 개발 도구(컴파일러, 디버거, 기타 유틸리티 등) JVM(Java Virtual Machine) + 클래스 라이브러리 + 런타임 환경
사용자 대상 Java 프로그램을 작성하고 컴파일하려는 개발자를 위한 도구입니다. Java 애플리케이션을 실행하려는 일반 사용자를 위한 환경입니다.
컴파일 가능 여부 Java 소스 코드를 컴파일할 수 있습니다. 컴파일 기능은 없습니다.
실행 가능 여부 Java 애플리케이션을 실행할 수 있습니다(JRE 포함). Java 애플리케이션을 실행할 수 있습니다.
주요 구성 요소 javac(컴파일러), java(실행기), 디버거(jdb), 기타 개발 도구 JVM, 클래스 라이브러리, 런타임 파일
예시 사용 상황 Java 프로그램을 개발하고 테스트할 때 사용됩니다. 이미 개발된 Java 프로그램(예: 게임, 유틸리티)을 실행할 때 사용됩니다.
  • JDK는 개발자용으로, Java 프로그램을 작성, 컴파일, 디버깅, 실행하는 데 필요한 모든 도구를 포함합니다.
  • JRE는 사용자용으로, 이미 작성된 Java 프로그램을 실행하는 데 필요한 환경만 제공합니다.

IntelliJ 단축키

• Build Ctrl +F9

• Run Shift + F10, Ctrl + F5(마지막 빌드)

• Debug mode run Shift + F9

• Break point Ctrl +F8

• 디버깅 강제 중단 Ctrl + F2

• 프로그램 재개 F9

• Step over F8

• Step into F7

프로젝트 시작해보기

결과


중요한 시점

빌드타임

.java파일을 컴파일하여 .class로 변환 시점

런타임

.class 실행 + 링크 + 기계어 번역이 이루어 짐

C/C++와 차이

  • .class 파일(정적빌드개념이 없음) - .obj 및 .exe (PE파일)
  • 참조 .class 파일 - .lib, .dll (PE파일)
  • Package(모듈수준) - namespace(코드 수준)
  • JVM class loader(런타임) - Linker (빌드타임)
  • 참조 - 포인터, 참조
  • Stack, Heap(JVM 영역 안) - Stack, Heap(OS가 부여한 가상메모리 안)
  • 자바는 디폴트 복사 생성자 없음
  • 자바에서 문자열 상수는 String 클래스 객체인데 Value값처럼 처리되는 경우가 많다.
  • import문은 #include 전처리기와 유사하나 전처리가 없다
  • Java는 전역변수 개념이 없다
  • 정적 메서드에서 다른 정적 멤버 접근 시 멈버접근 연산이 필요 없음 
  • 범위지정연산(::)과 멤버접근연산(.)을 함께 사용
  • 자바는 선언+정의를 동시에 해야 한다.
    • 선언을 따로 빼주는것을 Interface라고 부름

 

  • 클래스 이름과 파일명이 대/소문자까지 맞아야 함
  • 멤버 데이터 대신 필드
  • 참조형 필드의 경우 class 선언 코드에서 new 연산 초기화 가능 
반응형