Chapter 13. 입출력 자바의 IO 패키지 ▶ 학습 목표 : 스레드가 무엇인지 설명할 수 있고 스레드를 생성하고 구현할 수 있다. 13-1. IO와 스트림 - IO : 데이터를 읽고 기록하는 것을 input, output이라고 하여 IO라고 한다. 이때 input은 프로그램으로 들어오는 값이고, output은 밖으로 나가는 값이다. 입출력이라고 부르고 자바에서는 입출력 처리를 위해 IO패키지를 제공한다. - 스트림 : 스트림은 데이터의 흐름을 뜻한다. 데이터 통신은 한 쪽 방향으로만 가능하기 때문에 FIFO 구조를 이루고 있다. 스트림의 종류는 다양하지만 크게 나누면 출력 단위가 1byte인 바이트기반 스트림과 문자단위(2byte)인 문자기반 스트림이 있다. 13-2. 바이트기반 스트림 :바이트단위..
Chapter 12. 스레드 ▶ 학습 목표 : 스레드가 무엇인지 설명할 수 있고 스레드를 생성하고 구현할 수 있다. 12-6. wait()과 notify() : 스레드가 작동하고 있을 때 스레드를 대기 시키거나 대기 중인 스레드를 깨우는 메서드이다. 이것을 통해 스레드를 제어할 수 있다. 스레드 동기화(synchronized)를 통해 객체의 락(=잠금=lock)을 한 스레드의 작업이 완료될 때까지 제공하여 공유하는 데이터를 보호한다. 하지만 특정 조건 때문에 완료되지 못하는 상태라면 계속해서 락을 반납하지 못하는 경우가 발생한다. 이러한 문제점을 제어하는 것이 대기시키는 메서드인 wait()과 대기 중인 메서드를 깨우는 notify() 메서드이다. wait()는 스레드가 락을 반납하고 지정된 시간만큼 기..
add_member 클래스 package main; import java.util.Scanner; public class add_member { int index = 0; void add() { //System.out.println("멤버 추가 함수 입장"); //변수 생성 및 초기화 int memno; String name; int holiday = 15; int age; String position; //값을 입력받기 위해 Scanner 클래스의 참조변수 선언 및 초기화 Scanner input = new Scanner(System.in); Scanner input2 = new Scanner(System.in); System.out.println("사원번호를 입력해주세요"); memno = input..
Chapter 12. 스레드 ▶ 학습 목표 : 스레드가 무엇인지 설명할 수 있고 스레드를 생성하고 구현할 수 있다. 12-1. 스레드 : 하나의 프로세스 안에서 두가지 이상의 일을 하도록 도와준다. - 스레드와 프로세서 프로그램을 실행하면 메모리가 할당되어 실행(=객체)되는데 이때 실행 중인 프로그램을 프로세스라고 한다. 프로세스에서 작업을 수행하는 것을 스레드라고 한다. 두가지 이상 작업을 할때 두개 이상의 스레드가 필요한다. 두개 이상의 작업을 하는 프로세스를 멀티스레드 프로세스라고 한다. 프로세스 실행되는 두가지 방식 1. 시간분할 방식 모든 프로세스에게 동일한 시간을 할당하고 골고루 실행(=라운드로빈)(=병렬) 2. 선점형 방식 각각의 프로세스에게 우선순위를 부여하고 우선순위가 높은 순으로 실행된..
Chapter 11. 컬렉션 프레임웍 ▶ 학습 목표 : 컬렉션 프레임웍이 무엇인지 설명할 수 있고 클래스들을 이용하여 목족에 맞게 사용할 수 있다. 11-1. 컬렉션 프레임웍 : 데이터를 효율적으로 다루기 위한 클래스들의 집합(세트로 관리한다) 많은 데이터를 저장할 때 어떤 형태로 저장하는 것이 효율적인지 고려하여 만들어진 구조가 자료구조이다. 그리고 자바에서는 자료구조를 클래스로 제공하는데 이때 클래스의 집합을 컬렉션 프레임웍이라고 한다. 컬렉션 프레임웍에는 Collection(부모) 인터페이스(클래스)를 구현한느 Set, List, Queue, Map 인터페이스가 잇다. 메서드 설명 boolean add(E e) 파라미터로 지정된 요소를 컬렉션에 추가 boolean contains(Object obj..
1. 참조하고자하는 클래스의 함수가 static일 경우 예시 B클래스의 Add 함수와 Div함수를 A클래스 main함수에서 참조하고자한다. B클래스의 Add함수와 Div 함수를 보면 두 함수 모두 Static된 것을 볼 수 있다. static 상태가 되면 미리 생성되어 있어 사용시 따로 new를 사용해 생성하지 않고 클래스명.함수명(); 으로 바로 호출하여 사용할 수 있다. main 함수에서 클래스명.함수명() 명령어를 사용하여 호출한것을 볼 수 있다. 2. 참조하고자하는 클래스의 함수가 인스턴스일 경우 예시 첫번째 예시와 다르게 B클래스의 함수에는 static이 없고 void되어 리턴값이 없는 인스턴스 함수 인것을 알 수 있다. 인스턴스 함수를 참조하여 사용하려면 new를 사용해 생성해주어야 사용할 수..
null 값을 다루기 위한 함수는 NVL, NULLIF, COALESCE 3가지가 있다. 1. NVL : NVL 함수는 두 개의 인자를 받아, 첫번째 인자가 null일 경우 두번째 인자의 값을 반환한다. 만약 첫번째 인자 값이 null이 아닐 경우 첫번째 인자의 값을 그대로 반환한다. ex) NVL(null, 3) -> 3반환 NVL(값1, 값2, 값3) 값1 is null -> 값3 반환 is not null -> 값2 반환 2. NULLIF : 두개의 인자를 받아 두개의 인자 값이 같을 경우 null을 반환한다. 두개의 값이 다른 경우 첫번쨰 인자의 값을 반환한다. ex) nullif(3,3) -> null nullif(3,5) -> 3 3. COALESCE : 두개 이상의 인자 값을 받아, 인자 값..
자바에서 파라미터와 매개변수는 혼용되어 사용된다 하지만 두개의 용어에는 차이점이 존재한다. 1. 파라미터(parameter) : 메소드나 함수의 선언 시 나타내는 변수를 의미한다. 파라미터는 메소드나 함수가 호출될 때 전달되는 값을 받아 저장한다. 함수 호출할때 만들어짐 ex) public void method(int a)에서 a는 파라미터이다. System.out.println("안녕하세요")에서 안녕하세요 또한 파라미터이다. //값을 입력해주는것 2. 매개변수(Argument) : 메소드나 함수를 호출할 때 전달되는 실제 값이나 변수를 의미한다. 함수와 메소드를 호출할 때 사용되는 실제 값이다. 파라미터와 수신함(생성) ex) int value = 5; method(value);에서 5와 value는..
- Total
- Today
- Yesterday