✿∘˚˳°∘°

16일차 : HashMap / Exception / IO 본문

국비수업/JAVA

16일차 : HashMap / Exception / IO

_HYE_ 2022. 12. 19. 23:18

2022/12/19

 

[ 1. HashMap ] ====================================================================

HashMap을 이용한 StudentMgr만들기

[ 2. Exception ] =====================================================================

프로그래밍 오류의 종류

1) 컴파일 에러 : 소스상의 문법 에러

2) 런타임 에러 : 입력값틀림, 배열의 인덱스범위 벗어남, 계산식의 오류

3) 논리오류 : 에러는 발생하지 않았지만 개발자의 의도대로 작동X

4) 시스템에러 : 컴퓨터 오작동으로 인한 에러(소스코드로 해결X)

 

try ~ catch / try ~ catch ~ finally 구문으로 처리

 

2 - 1 ) try ~ catch

숫자를 입력하지않았을 경우 발생하는 오류 : RuntimeException

sc.nextInt() 에서 에러가 발생하고있는것 -> try ~ catch 이용

정상입력시 결과창(정상적으로try를나옴)  /  에러발생 결과창(Catch로내려옴)

2 - 2 ) throws

 

2 - 3 ) try ~ catch ~ finally

[ 3 . IO ] =========================================================================

[ 파일을 내보내기 ] - Wirter

3 - 1 ) 주스트림

결과Console창
파일이 정상적으로 생성된 모습

>> 효율적인 방법은 아님

 

3 - 2 ) 보조스트림

[ 파일을 가져오기 ] - Reader

 

[ 생성된 txt파일을 읽어와 이미지로 변환하여 내보내기 ]

 

3 - 3 ) 직렬화

객체를 스트림으로 전송하기 위해서 진행해야 하는 작업 / 객체는 큰 덩어리 이므로 바이트단위로 잘라주어야함

직렬화는 java.io.Serializable을 implements하여 구현한다(상속만하면됨)

직렬화를 위해 Seiralizable 인터페이스를 implement해준 vo파일
컴퓨터가 읽어올 형식으로 저장된다
파일 입력을 하지않았는데 파일을 불러오니 출력이 되는걸 확인할 수 있다.

[ 후기 ] ------------------------------------------------------------------------------------------------------------------------------------------

오늘은 정말너무너무어려웠다. 금요일에 수업했던 HashMap도 막상 구현해보려니 너무 헷갈리고

입출력이 너무 헷갈린다ㅠㅠ try~catch만이 빛이었다...문법도 문법이지만 아직 이론이 이해가 안가다보니 더 어렵다복습 시 이론pdf도 몇번 읽어봐야겠다 계속하다보면 손에 익겠지! 

 

오늘 실수한 점오늘은 모르는게 많아서 거의 모든 코드에서 실수를했다. 로드할 파일위치를 자꾸 잘못잡아서 에러도뜨고!

 

Comments