반응형
1. 프로그래밍 언어
- 저급 언어 : 기계어에 가까운 언어 / ex) 어셈블리어
- 고급 언어 : 사람이 이해할 수 있는 컴퓨터에게 명령 가능한 언어 / 컴파일 과정을 통해 기계어로 변환 후 컴퓨터가 사용함
2. 자바 개발 환경
- 자바 가상 기계 (JVM : Java Virtual Machine) : 자바 프로그램을 실행하는 가상의 운영체제 역할을 수행, 실 운영체제에 맞게 설치되어야 함 / 컴파일 된 바이트 코드 파일(*.class)을 기계어로 번역 후 실행
- 자바 개발 키트 (JDK : Java Development Kit) : JVM + 라이브러리 API + 컴파일러 등의 개발 도구
- 자바 실행 환경 (JRE : Java Runtime Environment) : JVM + 라이브러리 API / 이미 개발된 프로그램만 실행하고자 한다면 설치 / JRE ⊂ JDK
3. 자바의 특징
- 높은 이식성 : JRE가 설치되어 있는 모든 환경에서 실행 가능
- 객체 지향 언어 (OOP : Object Oriented Programming) : 객체들을 조립하고 연결해서 전체 프로그램을 완성 (클래스, 캡슐화, 상속, 다형성)
- 함수적 스타일 코딩 : 람다식 (Lambda Expressions) 지원
- 메모리 자동 관리 : 개발자가 메모리에 직접 접근 불가능 / 객체 생성 시 자동으로 메모리 영역을 찾아 할당하고, 사용이 완료되면 쓰레기 수집기 (Garbage Collector)를 실행시켜 사용하지 않는 객체를 제거
- 다양한 애플리케이션 개발 가능 (콘솔 프로그램, 클라이언트용 윈도우 애플리케이션, 서버용 웹 애플리케이션, 모바일용 안드로이드 앱 등)
- Java SE (Standard Edtion) : 클라이언트, 서버 프로그램에 상관없이 자바 프로그램 개발 시 사용
- Java EE (Enterprise Edition) : 서버용 애플리케이션 개발 에디션 / 분산 환경에서 서버용 애플리케이션을 개발하기 위한 도구 및 라이브러리 API 제공
- 멀티 스레드 (Multi-Thread) 구현 가능 : 스레드 생성, 제어 및 관리 라이브러리 API를 통해 운영체제에 상관없이 멀티 스레드 구현 가능
- 동적 로딩 (Dynamic Loading) 지원 : 객체가 필요한 시점에 클래스를 동적으로 로딩해서 객체를 생성
- 다양한 오픈소스 라이브러리
4. 자바 개발 순서
소스 파일 작성 (*.java) -> 컴파일러(javac.exe)로 바이트 코드 파일 (*.class) 생성 -> JVM (java.exe)로 기계어 번역 후 실행
5. 소스 파일 구성
- 클래스 : 필드 또는 메소드를 포함하는 블록
- 메소드 : 클래스 블록 내부에 작성 / 어떠한 일을 처리하는 실행문들을 모아 놓은 블록
JVM을 실행시키면 제일 먼저 패키지 내부의 main() 메소드를 찾아서 실행
6. 주석
작성자, 작성일과 시간, 프로그램의 버전, 변경 이력, 주요 코드 설명 등을 작성
- // (행 주석) : //부터 라인 끝까지 주석으로 처리
- /* ~ */ (범위 주석) : /*와 */ 사이에 있는 모든 범위를 주석으로 처리
- /** ~ */ (도큐먼트 주석) : javadoc.exe 명령어로 API 도큐먼트를 생성
반응형