학습 목표 : 자바 소스 파일(.java)을 JVM으로 실행하는 과정 이해하기JVM은 Java Virtual Machine의 약자로 자바 컴파일러가 변환한 바이트코드를 실행 시키는 프로그램이다.JVM은 OS를 대신해서 자바 프로그램을 실행하는 가상의 운영체제 역할을 한
학습 목표 : 자바의 프리미티브 타입, 변수 그리고 배열을 사용하는 방법을 익힙니다.값(data)이 저장될 공간의 크기와 저장형식을 정의한 것을 자로형(data type)이라고 한다.자료형은 크게 기본형과 참조형 두 가지로 나뉜다.프리미티브 타입(primitive ty
학습 목표 : 자바가 제공하는 다양한 연산자를 학습하세요.연산자(operator)연산을 수행하는 기호(+, -, , / 등) \*피연산자(operand) : 연산자의 작업 대상(변수, 상수, 리터럴, 수식)단항 연산자 피연산자 개수 하나이항 연산자 피연산자 개수 두 개
학습 목표 : 자바가 제공하는 제어문을 학습하세요.제어문 : 프로그램의 흐름을 바꾸는 역할을 하는 문장만일(if) 조건식이 참(true)이면 괄호 {} 안의 문장들을 수행하라다음과 같이 표현할 수 있다.x가 0인지 판별하는 조건식이 주어지고, 블럭 내부에서 수행될 문장
학습 목표 : 자바의 Class에 대해 학습하세요.클래스와 객체의 관계는 제품 설계도와 제품과의 관계로 비유할 수 있다.TV 설계도를 가지고 TV를 생산할 수 있다. TV 설계도가 TV인가? 그렇지 않다. 따라서, 클래스가 객체 그 자체는 아니다. 클래스는 객체를 만들
학습 목표 : 자바의 상속에 대해 학습하세요.상속이란? 기존의 클래스를 재사용하여 새로운 클래스를 작성상속을 통해 코드의 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여한다.상속을 구현하는 방법은 새로 작성하는 클래스의 이름 뒤에 상속
학습 목표 : 자바의 패키지에 대해 학습하세요.package 란? 클래스의 묶음이다.패키지 안에는 클래스 또는 인터페이스를 포함시킬 수 있으며, 서로 관련된 클래스들끼리그룹 단위로 묶어 클래스를 효율적으로 관리할 수 있다.클래스의 실제 이름(full name)은 패키지
학습 목표 : 자바의 인터페이스에 대해 학습하세요.인터페이스는 일종의 추상클래스이다.추상클래스 처럼 추상메소드를 갖지만 추상클래스와 달리 일반 메소드 또는 멤버변수를 구성원으로 가질 수 없다.추상클래스를 미완성 설계도라고 한다면,인터페이스는 기본 설계도라고 할 수 있다
학습 목표 : 자바의 예외처리에 대해 학습하세요.프로그램이 실행 중 어떤 원인에 의해서 오작동 하거나 비 정상적 종료되는 경우가 있다.이러한 결과를 초래하는 원인을 프로그램 에러 또는 오류라고 한다.발생시점에 따라 '컴파일 에러' 와 '런타임 에러' 로 나눌 수 있다
학습 목표 : 자바의 멀티쓰레드 프로그래밍에 대해 학습하세요.프로세스(process)? 실행중인 프로그램프로세스는 프로그램을 수행하는 데 필요한 데이터, 메모리 등의 자원과 쓰레드로 구성되어있다.프로세스의 자원을 이용해서 실제로 작업을 수행하는 것이 바로 쓰레드이다.따
학습 목표 : 자바의 열거형에 대해 학습하세요.열거형(enums)은 서로 관련된 상수를 편리하게 선언하기 위한 것으로 여러 상수를 정의할 때 사용하면 유용하다.JDK 1.5 부터 새로 추가되었다.첫 번째 블록의 코드를 보면 Card 클래스는 Card의 종류와 값들을 상
학습 목표 : 자바의 애노테이션에 대해 학습하세요.자바를 개발한 사람들은 소스코드에 대한 문서를 따로 만들기 보다 소스코드와 문서를 하나의 파일로 관리하는 방향을 생각했다.소스코드의 주석 '/\*\* ~ \*/'에 소스코드에 대한 정보를 저장하고, 소스코드의 주석으로부
학습 목표 : 자바의 Input과 Ontput에 대해 학습하세요.자바에서 데이터의 입력(Input)과 출력(Oupput)을 다룬다. 자바의 데이터는 스트림(Stream)을 통해 입출력되므로 스트림의 특징을 잘 알아야 한다. 자바 4부터 새로운 입출력(NIO: Ne
학습 목표 : 자바의 제네릭에 대해 학습하세요.다양한 타입의 객체들을 다루는 메소드나 컬렉션 클래스에 컴파일 시의 타입 체크를 해주는 기능컴파일 시에 체크하기 때문에 객체의 타입 안정성을 높이고 형변환의 번거로움이 줄어든다. 타입 안정성을 높인다는 것은 의도하지 않
학습 목표 : 자바의 람다식에 대해 학습하세요.람다식의 도입으로 인해, 자바는 객체지향언어인 동시에 함수형 언어(기능 제공)가 되었다.람다식은 메소드를 하나의 '식(expression)' 으로 표현한 것이다.위의 문장에서 '() -> (int)(Math.random()