13. 객체형변환정리, 예외처리, 입출력1
객체 자동형변환
객체 명시적인형변환
==============
ActionEvent->이벤트 정보를 가진 클래스
1. getActionCommand() =>이벤트를 발생시킨 컴포넌트의 문자열(버튼)
2. getSource(“Object”) =>어떤 컴포넌트(버튼,레이블,콤보박스..)
이벤트를 발생시켰는지? 컴포넌트의 종류를 알아오는 메서드
instanceOf연산자 구분
Ex)ButtonTest.java(getSource(),setText(),getText())
Ex)j226; VolTest.java(인터페이스 형변환)
● 예외처리
Ex)HelloTest.java(배열에러)

error(에러)=>정상적인 프로그램의 실행을 방해하는 코드문장들
->특히 자바에서 에러란 문장들->예외
=>사용자들에게 정상적으로 실행을 할 수 있도록 알려주는 구문->예외처리
java.lang.Throwable(최상의 태그)
|
Error(물리적인 에러)——Exception
|
RunTimeException
(컴파일에러)->문법어긋난것(오타) non-RunTimeException
1.NullPointerException==> web상
2.ArithemeticException
3.ArrayIndexOutOfBoundsException
4.NumberFormatException ==>web상
5.IOException
6.SQLException==>DB연동(web상)
◊ 예외처리를 해주는 방식
1. try~catch구문->이상적
2. throws를 이용하는 방법(위임)
caller—–> worker(문제발생)
<—– 부탁(위임) throws
Ex) HelloTest2.java(e.getMessage()),e.toString(),e.printStackTrace())
try{
예외발생 가능성이 있는 구문 –1)
}catch(예외1 예외객체1){// 예측이 가능한 예외처리
처리구문 –2)
}catch(예외2 예외객체2){
처리구문
}…
} catch(Exception 예외객체명)// 나머지 부분만
}finally{
반드시 처리구문– 3)
}
프로그램 테스트문장– 4)
Ex) ExceptionTest.java(사용자로부터 값을 입력(2개)->계산)
try {
}catch(~)
}catch(Exception e){ //권장=>다 처리가능
처리
}finally{
}
Ex) ExceptionTest2.java(명시적인 예외발생처리 -> 실질적으로 예외가 발생하는지 체크해주는 구문, throw new 발생시킬 예외처리클래스명(생성자인수))

예) JButton b1 = new JButton(“aa1″);
JButton b1 = new JButton(“aa1″); //b2
…
b2.setBackgroundColor(~)
===========================
throws 키워드를 이용한 오버라이딩 메소드(p.243)
private < default < protected < public
O ———————->
O(protected, public)
O===> 상속불가기 때문에 안됨
O
최소한 부모의 접근지정자와 같거나 더 넓어야 한다.
=====================================
9장.예외처리->11장.입출력->12장. 쓰레드=>10장 컬렉션
==>람다=>네트워크=>13장.오라클====>14장.JDBC Programming
● 자바 I/O
소스—-(입력)—>자바 애플리케이션—(출력)—>목적지
Ex)WriteHello.java(write,flush)

※ 반드시 예외처리를 해줘야 에러가 안나는 구문의 클래스
->입출력(IOException),네트워크,DB연동(SQLException)
입출력->출력(write()),입력(read())
java.io.InputStream-> read()
OutputStream -> write()
System.out.print(출력변수명)
=>출력변수에 저장된 값을 있는 그대로 출력
System.out.write(출력변수명)
=>출력변수에 저장된 값을 변환해서 출력
채팅->문자열(char)->한글데이터 위주
byte->문자열 전송(영문데이터 위주),이미지,실행파일
->영문데이터 파일 —> FileInputStream <–> FileOutputStream
->한글데이터 파일 —> FileReader <–> FileWriter
Ex)SimpleIn.java(키보드로부터 값을 입력을 받아서 그래로 출력)

과제)
조건1-> RepeatChar.java로 저장하라
실행결과
반복할 문자열을 입력?a
반복할 숫자를 입력?6->a=>에러유발
—————————–>예외처리까지
aaaaaa