제 16장 스레드 생산자 - 소비자 문제buffer wait() 와 notify() 제 24장 입출력ㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇ AWT : 운영체제로 부터 그래픽 자원을 빌려와 GUI구현Swing : 자바안에 독립적인 UI컴포넌트 자원을 내포JavaFX : 스트림 : 순서가 있는 데이터의 연속적인 흐름 파일의 경로-절대경로 : 최상위 루트로부터의 경로-상대경로 : 현재 내 위치로부터의 경로-정규경로 : 최단거리 절대경로 import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException; public class FileStreamTest {public static void main(String[] args) {FileI..
16장 스레드 * 스레드 : 프로그램의 명령처리 흐름 * 프로세스 : 프로그램 실행의 최소 단위, 최소 하나의 스레드를 가짐 * 병렬 처리 : 두개이상의 명령문을 동시에 수행* 병렬 처리 구현방법 1. 다중 프로세스 - 각 프로세스가 별도의 메모리 공간을 할당 받기 때문에 각 프로세스간에 데이터를 어떻게 주고 받을 것인지가 이슈(IPC) ↓ ↓ 2. 다중 스레드 - 각 스레드들이 하나의 프로세스 안에서 공통 된 메로리 공간을 공유하기 때문에 교통정리가 이슈 ↓ ↓ 스레드 클래스 프로그램이 실행되면 처음 만들어지는 기본스레드(main thread)는 메인함수를 한번 실행하는 작업을 수행 void start() - 스레드 객체의 start 메소드가 호출되면 새로운 명령처리 흐름이 생성파생스레드 - run함수..
요구사항분석목적 구체화화면설계사용되는 데이터들문서화 15장 예외처리 * 예외 : 런타임 에러, 프로그램 실행 중 잘못된 코드, 부정확한 데이터, 예외적인 상황에 의하여 발생되는오류* 예외처리 : 위상황이 왔을때 어떻게 해야할지 명세를 작성해 주는 것 * try/catch/finally 블록try - 예외발생코드 입력catch - 예외처리코드 입력finally - 오류가 발생하든 안하든 항상 실행되어야 하는 코드 * 예외의 종류RuntimeException - 부정확한 코드에 의해 발생 - 선택적으로 예외처리 적용해야 함(필수X)-ClasscastException - instanceof사용-ArrayIndexOutofBoundsException - if( arr.length < index )-NullPoi..
14장 제네릭과 컬렉션 제네릭 Object 참조 변수는 어떤 객체이던지 참조할 수 있다. Store 클래스 class 컬렉션 : 자료구조를 구현한 클래스 자료구조 : 데이터들의 집합리스트(list) : 순서가 있는 데이터들의 집합, 가변길이 배열, 많이쓰임!!스택(stack) : 순서가 있는 데이터들의 집합을 LIFO 방식으로 관리하는 자료구조큐(queue) : 순서가 있는 데이터들의 집합을 FIFO 방식으로 관리하는 자료구조집합(set) : 순서가 없는 데이터들의 집합(중복없음) 리스트 인터페이스ArrayList 클래스 데이터가 삽입/삭제 될 때 마다 새로운 배열을 생성 , 배열의 크기를 임의로 변화시킬수 있다는 것잦은 탐색 유리LinkedList 클래스 데이터가 삽입/삭제 될 때 해당 칸만 추가/삭제..
패키지클래스(interface, enum..)의 묶음으로서 하나의 디렉토리(폴더)이다. 패키지의 이름과 같은 디렉토리 내에 클래스 파일들을 포함하며 하위 패키지도 포함하는 중첩된 구조도 가능하다. 난수 : 무작위로 추출된 수먼저 java.lang.Math 클래스를 임포트한다. Math.random()과 같이 사용하면 0에서 1사이의 소수를 얻는다. 보통 (int)(Math.random() * 10)과 같이 형변환을 하여 사용한다.그 외에도 Random 클래스를 이용하기도 하는데, Random 클래스 내 nextint(), nextDouble() 등의 메소드를 사용한다. next 뒤에 오는 Int나 Double은 자료형을 뜻하며 소괄호 안에 숫자를 넣어 난수 범위를 지정할 수 있다.메소드체인기법(빌더패턴)..
형변환s를 통하여 Rectangle 클래스의 필드와 메소드를 사용하고자 할 때는 어떻게 해야 하는가?( (Rectangle) s).setWidth(100); 부모클래스 타입으로 자식객체를 참조했을때는 부모클래스에 존재하는 멤버변수와 멤버함수만 접근가능자식영역에만 존재하는 멤버에 접근불가 → 자식클래스로 형변환을 통해 자식에만 존재하는 멤버에 접근 가능 [참조변수] instanceof [타입]→ 참조변수가 타입의 객체를 참조할수 있다면 true 아니면 false 추상클래스 : 추상메소드를 갖고있는 클래스 , abstract키워드를 붙여줌 추상메소드 : 몸통이 없는 메소드자바에서의 추상메소드는 abstract키워드를 붙여줌 추상클래스를 상속받으면 추상메소드를 구현해야만 하는 의무를 갖게됨 추상클래스를 상속받..
↓ 변수+함수 / 상속 / 다형성 GoF디자인패턴↓ Spring * 상속: 어떤 클래스가 다른 클래스의 멤버변수와 멤버함수를 물려받는 것- 장점 상속을 통하여 기존 클래스의 필드와 메소드를 재사용변경 가능복잡한 GUI 프로그램 만드는데 유리함검증된 소프트웨어 재사용신뢰성있게 손쉽게 개발 유지보수코드의 중복을 줄일수있다 - 수퍼클래스(부모클래스) - 서브클래스(자식클래스) Ex> Animal - Lion,Dog ...Car - SportsCar 부모클래스로 객체 찍어내고 거기에 이어붙여서 자식으로 객체 찍어내고 붙여서 하나의 객체를 만들어내는 것 private - 내부에서만 접근 가능한 키워드 but, 상속받은 자식의 영역에서도 접근이 불가protected - 같은패키지와 자신을 상속받은 자식의 클래스영역..
멤버 변수, 멤버 함수 : 클래스를 구성하는 구성요소로 클래스를 통해 객체를 생성하면 각 객체마다 멤버변수와 멤버함수들이 생성 정적 변수(static 변수) : 멤버변수와 다르게 객체를 생성하지 않아도, 아무리 많이 생성해도 한개만 존재하는 변수 정적변수의 이용 1. 모든 객체가 하나의 데이터를 공유하기위해서 2. 각각의 객체가 항상 같은 값을 가질 변수이기 때문에 각자 공간을 가질 필요는 없음 * 지역변수 : 메소드 내에서 생성하는 변수, 메소드 종료시 사라짐, 스택영역에 생성됨 Ex>public class CircleTest {public static void main(String[] args) {Point p1 = new Point();Point p2 = new Point(2,3);Circle c1..
getter/ setter 생성자특징 4가지 This 메소드 오버로딩