본문 바로가기

자바 수업 정리

(20)
State(장소) 관련 코드 package fishing;public class State { private String state_name; private int enter_fee; public State() {} public State(String state_name, int enter_fee) { this.state_name = state_name; this.enter_fee = enter_fee; } public String getState_name() { return state_name; } public void setState_name(String state_name) { this.state_name = state_name; } public int getEnter_fee() { return enter_fee;..
수업정리 18일차. 어제만들었던 상품관리 프로그램에 이어서 검색, 수정, 삭제 기능을 활성화 시키기. private void search() { System.out.println(" 검색할 번호를 입력해주세요. "); int pno = scan.nextInt(); Product p = svc.getProduct(pno); System.out.println(p); } 특정 상품 검색은 세부내용과 날짜까지 전부 나오도록 생성 검색할 pno가 필요 pno 값을 입력받아 매개변수로 전달 Product 객체 리턴서비스 인터페이스에 getProduct(pno)를 추가하고  ProductServiceImpl 에 dao로 연결할 수 있게 구현@Override public Product getProduct(int pn..
수업정리 17일차. Thread ( 쓰레드 ) - 프로그램이 실행되면 OS로부터 메모리를 할당받아 process의 상태 됨.  - 하나의 process는 하나 이상의 Thread를 가지게 됨.  - Thread는 실제 작업을 수행하는 단위이다.  - thread가 실제 CPU가 작업을 처리하는 단위  - multi-thread : 여러개의 thread가 동시에 수행되는 프로그램   - CPU는 시간을 잘게 쪼개서 thread를 번갈아 수행함. ( 시분할 처리. )  - 사용자들은 동시에 처리되는 듯한 효과를 가지게 됨.  - thread는 각자 자신만의 작업공간을 가짐 (context)  - 각 thread는 공유하는 자원이 있을 수 있음. (자바에서 static instance)  - 여러 thread가 공유하는 자원을 ..
수업정리 16일차. Filejava.io.* 에서 제공하는 클래스들은 try~catch / throws를 해줘야함. Input / OutputStream (IOStream) : 단방향으로 데이터가 흘러가는 형태 java는 입력스트림, 출력스트림을 통해 데이터를 입출력함. 다양한 장치에 독립적으로 운영, 일관성있게 입출력을 유지하기 위해 입출력 스트림을 통해 일관성, 독립성 제공    두가지 형태의 스트림  - 바이트 형태의 스트림 : 기본 (문자, 그림, 멀티미디어)   - 문자 형태의 스트림 : 문자만 입출력할 때 사용 1. 바이트 스트림    - 입력 (InputStream) : FileInputStream, BufferedInputStream, DataInputStream ...   - 출력 (OutputStream)..
수업정리 15일차. 제네릭스 ( Generics ) : 데이터 타입을 나중에 확정하는 기법클래스나 메서드를 선언할 때 어떤 데이터가 올지 확신이 없다면, 제네릭 타입으로 구현=> 나중에 객체 생성시 타입을 확정하여 구현 객체의 타입을 컴파일 할 때 체크할 수 있어서 안정성을 해치지 않는 선에서 적당히 형변환이 가능한 기법안정성 - 의도하지 않은 타입의 객체가 저장되는것을 막는 것.제네릭의 타입값은 대문자로 ( 미지수 x를 많이쓰는것처럼 K, V 를 많이씀 ) 객체 구현시 타입을 적어서 처리 ( 안써도 형변환  해주면 가능 ) Lambda + Stream => 람다와 스트림javascript에서 arrowFunction(화살표함수) 와 비슷한 형태lambda : 람다식 ( 식을 단순하게 표현하는 방법 )외부자료의 부수적인 영..
수업정리 14일차. Map- 값을 2개 쌍으로 저장. key / value  - key : 중복불가능, value : 중복가능  - key가 index 대용 - index가 없으면 정렬 X, 중복 X - HashMap을 가장 많이 사용Map map = new HashMap(); - map은 값이 2개이기 때문에 향상된 for문 / iterator 사용불가  - map => key만 분리 후 set으로 구성 후 출력- list, set => add() : 추가 - map => put() : 추가 - keySet() : 키를 기준으로 값을 가져오는 것이 가능 - get(key) : key에 해당하는 value를 리턴 - remove(Object key) : key의 값을 삭제하면서 value를 리턴 - remove(Objec..
수업정리 13일차. 멀티캐치, 다중캐치 구문try{  } catch ( 예외클래스명1 객체) { } catch ( 예외클래스명2 객체) { }예외를 구체적으로 세분화해서 잡고싶을 때 사용.모든 예외의 최고조상 : Exception , 어떤예외가 발생하던 전부 캐치.최고조상은 가장 마지막에 처리. 사용자 정의 Exception사용자가 직접 Exception 클래스 생성시 IllegalArgumentException 클래스 상속메서드의 부적절한 인수를 사용자가 결정. 예로 passwordException을 만드는데조건 - 비밀번호는 null이 될 수없다.- 비밀번호는 5자이상이어야하며 문자로만 이루어지면 안된다. public class PasswordException extends IllegalArgumentException{..
수업정리 12일차. 다형성(polymorphism) 다형성 : 여러 가지 형태를 가질 수 있음을 의미.한 타입의 참조변수로 여러 타입의 객체를 참조함으로써 다형성을 프로그램적으로 구현하였음.참조변수 형변환 : 서로 상속관계에 있는 클래스사이에서만 가능.기본형 변수에서의 형변환에서 작은 자료형에서 큰 자료형의 형변환은 생략이 가능하듯이. 참조형 분수의 형변환에서는 자손타입의 참조변수를 조상타입으로 형변환 하는 경우에는 형변환을 생략할 수 있다. 참조 변수간의 형변환 역시 캐스트연산자를 사용하며 괄호() 안에() 변환하고자 하는 타입의 이름(클래스명)을 적어주면 된다 자손타입 -> 조상타입 (Up-casting) : 형변환 생략가능. (무조건 가능)자손타입 조상타입 (Down-casting) : 형변환 생략 불가. (조건부 가..