*데이터 저장 !!!
1) 변수 : 한가지타입에 한가지 값만 저장 !! -objact obj;
2) 배열 : 한가지타입에 여러개의 값을 저장 -단점) 데이터조작 불편하다.
3) 자료구조 : 다양한 타입에 여러개의 값을 객체 형태로 저장 ( 데이터조작에 관련된 메소드를 풍부하게 제공)
결국 1),2),3) 영속성에 한계가 있다 !! - 프로그램을 종료하면 모두 초기화!!
4) 파일에 저장 - 영속성이 영구적 !! -단점) 방대한 많은 양의 데이터를 저장해서 관리하는 것이 쉽지 않다.!!
ex) 장희정, 10, 서울, 이나영, 20, 대구
ex) ~.properties파일에 저장
key = value
10 = 장희정, 서울
20 = 이나영, 대구
30 = 이효리, 제주도
*관리가 쉽지 않다 !!
*자바의 관점에서 ... 정보를 객체의 속성으로 관리 !!
class Student implements Serializable{
no, name, addr
static int field3; //직렬화 대상에서 제외
transient int field4;
}
교재 1043 page
* 속성을 관리하는 객체를 영구적으로 관리할 수 있는 파일에 저장할 수 없을까?
: 자바에서 이러한 부분을 해결하기 위해서 객체를 저장하고 저장된 객체를 조회할 수 있는 문법제공 !!!
1) 직렬화 : 객체를 byte형식으로 변환해서 일렬로 나열하는 형태 !! - ObjectOutputStream
2) 역직렬화 : 저장된 객체를 다시 복원 - ObjectInputStream
=========================================================================
-Thread 교재 576p
: Thread란 하나의 프로그램안에서 여러개의 작업을 동시에 일하는 것처럼 만들어주는 것 (멀티스레드)
: Thread를 만드는 방법
1) 상속
class Test extends Thread{
//Thread로 동작하게 되도록 기능을 작성하기 위한 필수 재정의 메소드
@Override
public void run(){
//기능
}
}
-호출
Test t = new Test();
t.run(); //X (싱글스레드로 하기 때문에 start를 해야해고 start로 인해 run이 호출된다. )
t.start(); //스레드 준비상태 !!
2) 구현
class Test implements Runnable{
@Override
public void run(){
//기능
}
}
Test t = new Test();
Thread th = new Thread( t );
th.start();
---------------------------------------------------------------------------------------
@FunctionalInterface
: 현재 interface가 한개의 메소드를 가지고 있다는 표현
: 이것은 람다식표현을 사용할 수 있다는 뜻 ( -> 기능구현)
: 함수적 선언 : 소스가 간결해진다. 람다식표현(--> )
: 람다식 표현식은 interface안에 있는 메소드가 한개만 존재할 때 구현클래스 없이 간결하게 메소드의 기능을 정의 할 수 있도록 하는 것,
익명구현체 만들어진다 !! '
@FunctionalInterface
interface Runnable{
void run();
}
- 원래코딩
class A implements Runnable{
public void run(){
기능;
}
}
- 람다식 방법 코딩
Runnable r =
- Enum (열거 타입)
- 상수 : static final
- 값을 고정 불변 !!
ip
static final ID = "jang"
PWD = "1234"
if( A.ID.equals(??)){
if( A.PWD.equals("")){
}
'Web > MSA Full-Stack 과정' 카테고리의 다른 글
Kosta Day22 : 데이터베이스 / Oracle(오라클) 2 (0) | 2022.02.23 |
---|---|
Kosta Day21 : 데이터베이스 / Oracle (오라클) (0) | 2022.02.23 |
Kosta Day19 : Inner class / IO Stream (0) | 2022.02.17 |
Kosta Day18 : GUI (JAVA) (0) | 2022.02.15 |
Kosta Day17 : 자료구조2 (JAVA) / Set, Map (0) | 2022.02.14 |