[자바(JAVA)]자바 가상 머신(JVM)의 구조

JRE (Java Runtime Environment) JVM (Java Virtual Machine) ​ 자바 가상 머신(JVM)의 구조 ​클래스 로더 (Class Loader) 바이트 코드(.class)들을 엮어서 JVM의 메모리 영역인 Runtime Data Areas에 배치 ​ 실행 엔진 (Execution Engine) 바이트 코드를 명령어 단위로 읽어서 실행 ​ 1. 인터프리터(Interpreter) 바이트 코드 명령어를 하나씩 읽어서 해석하고 바로 실행 2. JIT 컴파일러(Just-In-Time Compiler) 바이트 코드 … Read more

[자바(JAVA)]JDK의 개념 및 구성 원리

JDK(Java Development Kit) – 자바를 개발하는 데 필요한 라이브러리들을 포함– 자바 프로그램을 실행해주는 JRE도 포함– JRE(JVM + Java Class Library) + Java Development Tools(javac, javadoc) JDK 버전 표기 ​Java SE(Java Standard Edition) – 기본적인 클래스 패키지로 구성– PC에 설치해서 사용할 수 있는 모든 프로그램 개발 가능– 사용처: PC용 어플리케이션, 응용프로그램 개발, 웹 개발, 안드로이드 개발 … Read more

[자바 – Java] I/O 입출력 스트림 inputstream outputstream

1. 입출력 스트림 1) 네트워크에서 자료의 흐름이 물의 흐름과 같다는 비유에서 스트림 용어가 사용되었다. 2) 다양한 입출력 장치에 독립적으로 일관성 있게 입출력을 할 수 있도록 입출력 스트림을 제공한다. – 파일, 디스크, 키보드, 마우스, 네트워크, 메모리 등 2. 입출력 스트림의 종류 1) 대상 기준 : 입력 스트림 / 출력 스트림 2) 자료의 종류 : 바이트 스트림 … Read more

[자바 – Java] 접근제어지시자, 정보은닉 – public, private, protected, default, get(), set(), this

이번 포스팅은 접근 제어와 정보은닉에 대한 포스팅입니다.   1. 접근 제어 지시자 (access modifier)   1) 클래스 외부에서 클래스의 멤버변수, 메서드, 생성자를 사용할 수 있는지 여부를 지정 2) public : 클래스의 외부 어디서나 접근 할 수 있음. 3) protected : 같은 패키지나 상속관계의 클래스에서 접근 가능. 그 외 외부에서는 접근 할 수 없음. 4) (아무 … Read more

[자바 – Java] 스태틱 클래스 변수 메소드 싱글톤패턴

1. 스태틱(static)   1) static변수, static 메서드는 메서드 영역에 저장되며, 프로그램 시작 전에 로드되고 프로그램 종료 시 소멸된다. 2) 코드가 메서드 영역에 다 로딩되면 그중에서 static으로 지정된 변수와 메서드 영역 내 static 영역으로 옮겨진다.     2. static 변수   1) 여러 인스턴스에서 공통으로 사용하는 변수가 필요한 경우 static으로 선언하면 된다. 2) static 사용 – … Read more

[자바 – Java] 자바 배열 선언 정렬 출력 추가 복사 자르기

자료 구조   대량 데이터를 효율적으로 관리하는 메커니즘이다.(ex. 우편번호, 인사부서를 통한 인원 관리)   1. 배열(Array)이란?   1) 동일한 자료형의 순차적 자료 구조이다. 2) 타입이 같은 둘 이상의 데이터를 저장할 수 있는 1차원 구조의 메모리 공간을 배열이라고 한다. 3) 자료를 순차적으로 한꺼번에 관리하는 방법이다. 4) 물리적 위치와 논리적 위치가 동일하다. 5) 배열의 순서는 0부터 시작한다. … Read more

[자바 – Java] 자바 상속 예제 문제 생성자 오버라이딩 super 다형성

1. 클래스 상속   1) 새로운 클래스를 정의할 때 이미 구현된 클래스를 상속(inheritance) 받아서 속성이나 기능을 확장하여 클래스를 구현된다. 2) 이미 구현된 클래스보다 더 구체적인 기능을 가진 클래스를 구현해야 할 때 기존 클래스를 상속한다. 2. A클래스가 B클래스에게 상속한다. (= B클래스가 A클래스를 상속받는다.) 상속하는 클래스 – 상위 클래스, parent class, base class, super class   상속받는 … Read more

[자바 – Java] 다형성 구현 이유 형변환 instanceof

1. 다형성 (polymorphism)이란?   1) 하나의 코드가 여러 자료형으로 구현되어 실행되는 것이다. 2) 같은 코드에서 여러 실행 결과가 나온다. 3) 정보은닉, 상속과 더불어 OOP의 가장 큰 특징 중 하나이다. 4) 다형성을 잘 활용하면 유연하고 확장성 있고, 유지보수가 편리한 프로그램을 만들 수 있다. 2. 다형성을 사용하는 이유(=장점)   1) 상속과 메서드 재정의를 활용하여 확장성 있는 프로그램을 … Read more

[자바 – Java] 추상클래스 추상메소드 인터페이스 예제

1. 추상 클래스   1) 구현 코드 없이 메서드의 선언만 있는 추상 메서드(abstract method)를 포함한 클래스를 이야기한다. – 메서드 선언 (declaration) : 반환 타입, 메서드 이름, 매개변수로 구성한다. – 메서드 정의 (definition) : 메서드 구현(implementation)과 동일한 의미 구현부(body)를 가진다. ({}) public abstract void checkDownCast(ArrayList list);        //선언 public void checkDownCast(ArrayList list) { }         … Read more