git fetch origin/master + git merge origin/master
= git pull origin master
<올리는 과정>
수정 -> add -> commit ->pull-> push


pull에서 충돌이 생기면 해결하고 다시 add ->commit -> pull->
래희야 사진을 생각해,,,git은 사진 변경 저장소얌...
만약에 너가 충돌이 났어 그러면 해결하고 add하고 commit해서 사진을 찍어야겠지
14-frame05
시간이 걸리는 작업을 어떻게 처리할까?

흐름이 하나이기에 생기는 문제점이 아닌가?
맞음, 새로운 작업단위를 만들어서 작업시킴
<새로운 스레드 만드는 방법> = 상속
1. Thread 클래스를 상속 받은 클래스를 정의한다.
2. run() 메소드를 오버라이드 한다.
3. run() 메소드 안에서 새로운 스레드에서 해야 할 작업을 코딩한다.
<상속받은 클래스 정의>

<객체 생성 및 메소드 호출하기>

새로운 작업단위를 객체로 생성하고 그 객체의start()메소드 호출
<새로운 스레드 만드는 방법2> = 인터페이스
1. Runnable 인터페이스를 구현할 클래스를 정의한다.
2. run() 메소드를 강제 오버라이드 한다.
3. Thread 클래스로 객체를 생성하면서 해당클래스로 만든 객체를 생성자의 인자로 전달한다.
4. Thread 클래스로 만든 객체의 start() 메소드를 호출해서 스레드를 시작 시킨다.
<Runnalble 인터페이스 구현 클래스>

<만든 객체의 stati()메소드 호출1>



객체와 메서드 연결해서 활용한다.
스레드는 새로운 작업 흐름을 생성하여 추가하는 것
var는 생성된 객체로 타입을 유추하는데 인터페이스는 객체를 직접 생성할 수 없어 불가능
1byte에 256가지의 값이 들어갈 수 있는 가능성이 있으니 영여, 숫자, 특수기호 모두가 들어갈 수 있다.
모두 오류 발생 가능성이 있으니 try-catch로 묶어야 함


System.in은 in이라는 필드에 InputStream type 객체의 참조값이 들어있음.

곽, 래, 희 등의 글자의 숫자를 알 수 있음

output는 방출(flush) 해야만 보인다.
1-4. OutputStream
- 1byte 처리(한글불가)
- 부모 type 인 OutputStream type으로 담는다.
- 문자열을 출력하기에는 불편함
<PrintStream이 OutPutStream type을 구현 받음>
System.out은 out이라는 필드에 PrintOuter type 객체의 참조값이 들어있음.


파일에 저장할 문자열 받기 -> 원하는 경로에 있는 File 객체를 생성 -> try-catch로 흐름 생성하기

파일 만들어지는게 성공하면 true 아니면 false

바이트가 존재하지 않으면 -1

더 이상 읽을 줄이 존재하지 않으면 null

<질문>
1. 검색 누르면 창에 홈페이지 내용 출력 14-frame05
2. 한번 사용한 thread 는 재사용이 불가능 : 흐름이 끝난다고 생각할 수 있음
<to do 리스트>