자바 프로그램의 실행 구조와 가상머신 일반적인 프로그램은 ->programoperating SystemHardWare 하드웨어 기반으로 운영체제가 동작자바 프로그램의 경우programjava virtual machineoperating SystemHardware운영체제

변수의 이해와 활용1) 메모리 공간의 활용을 위해 필요한 변수 변수를 한 문장으로 정리하자면 "데이터의 저장과 참조를 위해 할당된 메모리 공간에 붙인 이름"2) 변수는 메모리 공간에 붙여진 이름코드상에 변수라는 것 선언시 메모리 공간이 할당된다. 할당된 메모리 공간에

연산자들 정리 본
if문과 if ~ elseif 문의 골격if ( true or false) { 조건 true 시 실행되는 영역}True가 오면 이어서 등장하는 중괄호 내부가 실행, false가 등장하면 이부분 생략 If else문 골격if ( true or false) { 조건 tru
메소드에 대한 이해와 메소드의 정의Main 메소드에 대하여이 메소드는 클래스의 내부에 존재 메소드의 이름은 – main중괄호 내에 존재하는 문장들이 위에서 아래로 순차적 접근 다른 이름의 메소드자바 프로그램은 main이라는 이름의 메소드에서부터 시작 위 코드 내용은 메
클래스 정의와 인스턴스 생성Class = Data + Method데이터 = 프로그램상에서 유지 관리기능 = 데이터를 처리하고 조작데이터는 변수의 선언을 통해 유지, 변수에 저장된 데이터는 메소드의 호출을 통해 처리메소드 deposit, withdraw, checkMyb
클래스 패스자바 가상머신이 클래스 파일을 찾는 경로 클래스 파일을 찾을 때, 이 클래스 패스라는 것을 기준으로 찾는다. 현재 디렉토리를 기준으로 한 실행 명령 프롬프트 상에서 작업이 진행중인 디렉토리 위치클래스 패스라는 것을 지정하지 않으면, 자바의 가상머신은 필요한
정보은닉 그리고 캡슐화정보은닉정보는 클래스의 인스턴스 변수를 의미double rad = 0;final double PI = 3.14;생성자 초기화 방법 보다는 인스턴스 변수 선언의 초기화.인스턴스의 직접적 접근을 허용시, 컴파일 과정중 오류 발생. -> 이런 오류 발생
클래스 변수와 메소드Static 선언을 붙여서 선언하는 메소드 인스턴스 변수는 생성된 인스턴스 안에 존재하는 변수. But 클래스 변수, 인스턴스의 생성과 관계 없이 존재하는 변수 선언된 클래스의 모든 인스턴스가 공유하는 클래스 변수 클래스 내에 선언된 변수 앞에 st
클래스 내에 동일한 이름의 메소드를 둘 이상 정의하는 것은 불가능. 하지만 매개변수 선언이 다르다면 가능! 이것을 메소드 오버로딩이라고 한다.조건 메소드의 이름 메소드의 매개변수 정보 MyHome home = new MyHome ();home.mySimpleRoom

콘솔출력System.out.println & System.out.printSystem.out.println 메소드는 문자열을 출력하고 나서 행을 바꾸는 특징이 있다. 반면 문자열 출력 후 행을 바꾸지 않는 System.out.print 메소드도 존재 StringBuil
클래스 상속 & 오버라이딩상속의 기본 조건 IS-A (~는 ~이다)하위 클래스는 상위 클래스의 모든 특징을 갖는다. 하위 클래스는 자신만의 추가적 특성을 더한다. \+) HAS-A는 상속으로 표현 할 수 있는 관계로 언급. 실무에서는 HAS-A를 상속으로 보기 어렵다.
상속이 도움이 될 때 연관된 일련의 클래스들에 대해 공통적 규약을 정의 할 수 있다. 인스턴스를 저장하는 배열이 2개대학 동창의 정보를 저장하는 과정, 직장 동료의 정보를 저장 저장에 필요한 배열과 변수가 다르기 때문저장된 정보를 모두 출력할 때, 두개 for문을 작
인터페이스의 기본과 의미 추상 메소드만 담고 있는 인터페이스 인터페이스 메서드는 몸체 없이 세모콜론으로 마무리. 메소드의 몸체가 비어 있는 메소드를 가리켜, 추상메소드. -> 인터페이스로 생성 불가. 인터페이스는 상속이 아닌 구현을 목적으로 한다. 구현할 인터페이슬
자바에서 말하는 예외 예외는 단순한 문법적 오류가 아닌, 실행 중간에 발생하는 정상적이지 않은 상황. 0이 될 수 없음에도 불구하고 0을 입력한 프로그램 사용자에게 있다. 이러한 상황을 가리켜 예외 라고 한다. 가상머신은 예외가 발생하면, 그에 대한 내용을 간단히 출력
프로그램의 실행에 필요한 메모리 공간을 가리켜 -> 메인 메모리라고 한다. 물적으로는 RAM을 의미한다. 자바 가상머신 메모리 메소드, stack, Heap 영역 이렇게 나뉘어 진다.]메소드 영역자바 가상머신에 의해 실행이 가능한 코드를 가리켜 바이트코드라고 한다.
Wrapper 클래스래퍼 클래스는 감싸는 클래스이다. 감싸는 대상은 정수, 실수, 문자 -> 자료형 기본 자료형을 감싸는 래퍼 클래스 Int 정수나 double 실수와 같은 기본 자료형의 값들도 인스턴스로 표현해야 하는 경우가 있다. public static void
제너릭스 제너릭스가 갖는 의미는 일반화. 일반화에 대상은 자료형이다. 제너릭스 이전 코드 public class Main1 { public static void main(String\[] args) { Box box = new Box();
제네릭 클래스와 상속 제네릭 클래스도 상속이 가능하다. class Box{ protected T ob; public void set(T o){ ob = o; }}class SteelBox extends Box{ public SteelB

컬랙션 프레임워크 프레임워크라는 표현에 이해잘 정의된 골격의 구조, 잘 정의된 구조의 클래스 = 라이브러리라고 부른다.컬렉션 의미와 자료구조 자료구조 -> 데이터의 저장, 탐색, 삭제등 다양한 측면으로 연구알고리즘 -> 데이터의 일부 또는 전체를 대상으로 하는 각종 가
자료형으로 의미가 부여된 이름을 갖는 상수의 선언인터페이스 기반의 상수 정의interface Scale { int DO = 0; int RE = 1; int MI = 2; int FA = 3; int SO = 4; int RA = 5;
클래스 내에 정의된 클래스를 가리켜 네스티드 클래스라고 한다. 이를 감싸는 클래스를 가리켜 이너 클래스라고 한다. 네스티드 클래스의 구분 기본적으로 클래스 내에 정의된 모든 클래스를 가리켜 네스티드 클래스라고 한다. 네스티드 클래스는 static 선언 여부를 기준으로
인스턴스보다 기능 하나가 필요한 상황을 위한 람다“기능 하나를 정의해서 전달해야 하는 상황”import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.uti
“이미 정의 되어 있는 메소드가 있다면, 메소드의 정의가 람다식을 대신?”메소드 참조의 4가지 유형과 메소드 참조의 방법Static 메소드 참조참조변수를 통한 인스턴스 메소드 참조클래스 이름을 통한 인스턴스 메소드 참조 생성자 참조 코드를 줄이면, 코드의 생산성도 향상
스트림의 이해와 스트림의 생성스트림 이해 “데이터의 흐름을 생성 할 수 있으며, 이러한 데이터 흐름을 가리켜 스트림 이라고 한다”“배열 또는 컬랙션 인스턴스에 저장된 데이터를 꺼내서 파이프에 흘려보낸다.”파이프에 데이터의 흐름을 가리켜 스트림 중간연산 마지막이 아닌
스트림 생성에 필요한 데이터를 직접 전달 스트림 생성과 관련하여 Stream 인터페이스에 정의되어 있는 static 메소드가 들어있다. static stream of(T t)static stream of(T …. values)스트림 생성이 필요한 데이터를 인자로
Instant 클래스 시각: 시간의 어느 한 시점 / 시간: 어떤 시각에서 시각 까지의 사이 Instant now = Instant.now() now가 참조하는 인스턴스에는 now 메소드가 호출된 시점의 시각 정보가 담긴다. import java.time.Duratio
I/O Stream 스트림과 I/O 스트림 차이? 스트림: 데이터를 어떤 원하는 형태로 걸러내고 가공I/O 스트림: 데이터의 입출력. 다수의 문자열을 저장하고 있는 파일이 있다. 저장된 문자열을 꺼내서 컬랙션 인스턴스에 저장, 저장된 문자열 중에서 길이가 5 이상인 문
파일 시스탬 기본적 파일 시스탬 위도우 -> C:\\ -> 루트 디렉토리를 가져올 수 있다.절대경로, 상대경로절대경로는 루트 디렉토리부터 시작하는 파일의 위치 정보상대경로는 현재 디렉토리를 기준으로 파일의 위치를 표현 프로그램이 실행되면 프로그램의 작업 디렉토리가 하나
쓰래드 이해와 쓰레드의 생성 방법쓰레드는 실행중인 프로그램 내에서 “또 다른 실행 흐름을 형성하는 주체:public class Main1 { public static void main(String\[] args) { Thread ct = Thread.