The Debugging Chronicles : "코드의 미학"
Mentor JAVA - section01. 자바 프로그래밍의 기본 본문
01. 자바의 과거와 현재
자바 소개
1991년 제임스 고슬링을 비롯한 연구원들에 의해 개발된 객체 지향 프로그래밍 언어 입니다.
자바의 역사
오크(Oak)라는 프로그래밍 언어에서 부터 시작해 C와 C++의 단점을 보완하고 독립적으로 작동하는 안정적인 프로그래밍 언어입니다.
자바의 특징
1) 객체 지향 언어
객체 지향언어는 하나의 기능을 객체로 만들고, 이러한 객체들을 결합해서 하나의 프로그램을 완성하는 기법
대표적인 객체 지향 언어로 상속, 캡슐화, 다형성이 잘 나타남.
2)단순성
C/C++을 기반으로 개발되었지만, 제공하는 문법인 포인터 등 혼란을 일으키는 불필요한 기능들을 제거
3)이식성
가상머신(JVM)을 이용해 자바 프로그램이 여러 운영체제에서 동일한 실행 결과가 나오도록 설계
4)멀티 스레드
CPU 를 최대한 활용하기 위해 프로그램의 2가지 이상 동시에 실행할 수 있는 기능
-동시성 : 멀티 작업을 위해 하나의 코어에서 멀티 스레드가 번갈아 가면 실행
- 병렬성 : 멀티 작업을 위해 멀티 코어에서 개별 스레드를 동시에 실행
5)메모리 자동 정리
자동으로 가비지 컬렉터(GC)가 사용하지 않는 메모리를 주기적으로 수거하고 관리
6)풍부한 오픈 소스 라이브러리
자바는 무료로 제공하는 라이브러리가 이미 많이 개발 되어 있어 프로그램 개발 기간을 단축
단점
- 실행을 위해 자바 가상 머신을 거쳐야 하므로 다른 언어들에 비해 실행 속도가 느리다
- 예외 처리가 잘 되어 있으나 개발자가 처리를 지정해 줘야 하므로 불편함이 따른다.
02 . 자바 개발 환경 준비하기
자바로 프로그램을 개발하고 실행하려면 자바 가상 머신이 필요.
JDK : Java Development Kit - > 자바 개발 키트
JRE : Java Runtime Enviroment - > 자바 실행 환경
자바 프로그램을 개발하려면 자바 개발 키트가 필요하고 이미 개발된 프로그램을 실행만 하려면 자바 실행 환경만 설치하면 됨.
IDE : Intergrated Development Enviroment - > 통합 개발 환경
이클립스는 자바 응용 프로그램 개발을 위한 통합개발환경이다. 실무에서 가장 많이 사용하는 툴이다.
03. 자바 첫 프로그램 만들기
Tip!!
1. 패키지는 클래스의 묶음으로 시스템의 폴더와 같은 개념이다
2. 동일한 이름의 클래스가 존재할 수 있기 떄문에 패키지 형태로 구분하여 클래스를 식별
3. 패키지 이름은 항상 소문자로 입력
4. 클래스 이름은 항상 대문자로 시작
04. 프로그램 기본 구조 및 주석과 실행문
1) 자바 프로그램의 실행 프로세스
자바 가상 머신 JVM(Java Virtual Machine)은 운영체제마다 따로 코드를 작성해야하는 번거로움 없이
자바가 '플랫폼에 독립적' 일 수 있게 만들어 준다.
예를 들어 C프로그램은 바로 기계어로 컴파일하므로 HW 운영체제에 맞게 각각 컴파일되어야 한다.
이를 '플랫폼에 종속적' 이라고 한다.
반면 자바프로그램은 중간 단계 언어로 컴파일하여 JVM 만 각 OS에 설치되어 있다면
HW 운영체제와 상관없이 단 한번만 컴파일 하면 된다.
이를 '플랫폼에 독립적'이라고 한다.
자바 언어로 만들어진 파일을 컴파일 하면 기계어 파일인 바이트코드 (.class)파일이 생성된다.
이후 바이트코드를 JVM이 읽고 실행하게 된다.
- 자바 바이트 코드 (JAVA Bytecode)
운영 체제에 맞는 완전한 기계어가 아닌 중간 기계어를 말한다.
바이트 코드 확장자는 .class이며 운영체제 에서 바로 실행 할 수 없어 자바 가상머신이 필요하다.
- 자바 컴파일러(Java Compiler)
자바 소스 파일을 JVM이 해석 할 수 잇는 자바 바이트코드(.class파일)로 번역
- 자바 가상 머신 (JVM)
자바 클래스 파일을 로드하여 바이트 코드를 특정 운영체제에서 사용하는 실행 코드로 해석한다.
2) 자바 프로그램의 기본 구조
소스파일> 클래스 > 메서드 > 실행문
//class - 클래스를 정의하는 키워드
//Hello - 클래스 이름
public class Hello{ // 클래스 시작
// main - 메서드 이름
public static void main (string[] args){ //메서드 본체 시작
// 메서드의 매개변수 타입과 매개변수
System.out.pirntln("Hello JAVA!!"); //실행문
} // 메서드 본체 끝
}// 클래스 끝
- 클래스
자바에서 프로그램을 개발하는 단위
하나 이상의 클래스가 있어야 하며 소스 파일의 이름이 클래스 이름과 동일해야한다
- 메서드
수행할 작업을 나열한 코드의 모임
자바 프로그램의 시작 위치인 main() 메서드를 포함하는 클래스가 반드시 있어야한다.
- 실행문
작업을 지시하는 것으로 변수나 상수의 선언, 값, 저장, 메서드 호출 등 다양한 명령어와 연산자로 구성
3) 주석
주석은 설명이나 필요한 정보 등을 기록한 것으로 컴파일되지 않아 프로그램 실행에는 아무런 영향을 주지 않음
'JAVA > Mentor JAVA' 카테고리의 다른 글
Mentor JAVA - section06. 배열 (0) | 2024.07.17 |
---|---|
Mentor JAVA - section05. 제어문-2 (0) | 2024.07.16 |
Mentor JAVA - section04. 제어문-1 (0) | 2024.07.15 |
Mentor JAVA - section03. 연산자 (0) | 2024.07.14 |
Mentor JAVA - section02. 변수와 자료형 (0) | 2024.07.13 |