**배치처리 과정을 하나의 단위
**로 만들어놓은 객체
**Job 실행의 단위
**를 나타내며 Job을 실행시킬 때마다 하나의 JobInstance가 생성
예를 들어 Job을 1월 1일, 1월 2일 2번을 실행시키면 **각각의 JobInstance가 생성
**되고
1월 1일 실행한 JobInstance만 다시 실행하면 1월 1일에 관한 데이터만 처리해준다.
**JobInstance를 구별
**하기 위한 객체 구별 외에도 JobInstance에 전달되는 매개변수 역할도 함
**JobInstance 실행 시도
**에 대한 객체
실패한 JobInstance를 재실행시키면 똑같은 JobInstance를 돌리지만 JobExecution은 개별 생성
JobInstance 실행에 대해 상태, 시작, 종료, 생성시간 등의 정보를 담고있다.
**외부 요청에 의해 작업 실행을 담당
**하는 클래스, JobLauncher 인스턴스화
예를 들어 쉘 스크립트 같은 외부 트리거로 메소드 호출 가능
Job, JobParameters를 사용하여 **Job을 실행
**하는 객체
Job이 실행되면 **JobRepository에 JobExecution, StepExecution을 생성
**하고