LinkedList
탐색의 경우 O(n) / 삽입 삭제의 경우 간단.
ArrayList
탐색의 경우 O(1) / 삽입 삭제의 경우 쭉~ 밀려남
패키지
java.lang.* - 명시적으로 지정하지 않아도 자동으로 import 되는 패키지.
자바 프로그램이 기본적으로 필요로 하는 클래스와 인터페이스 포함
java.io.* - 데이터를 입력받고 출력할 수 있도록 하는 클래스 포함
java.net.* - 네트워크를 통하여 통신할 수 있도록 해주는 클래스 포함
java.util.* - 날짜/시간 조작, 난수 발생 등 각종 유틸리티 클래스와 인터페이스 포함
예외처리
예외
프로그램이 실행되는 동안 발생할 수 있는 비정상적인 조건
번역시의 에러가 아닌 실행시의 에러를 예외라 함
자바에서의 예외처리
예외처리를 위한 Exception 클래스 정의
기본적인 예외는 자바에 미리 정의된 예외를 통해 처리 가능
사용자가 필요한 예외를 직접 정의할 수 있음
예상되는 예외는 미리 처리해주면 무조건적인 프로그램의 종료를 피할 수 있음
예외처리의 사용은 프로그램의 신뢰성을 높여줌
try catch 문
catch문에서 예외가 발생하면 복구시키는게 목표이다. 하지만 그게 말이 쉽지 복구라는건 불가능한 경우가 많이있다.
try catch는 가독성을 떨어뜨린다는 단점이 있다.
ex) 상대방이 랜선을 뽑아서 캐치에 왔다면 어쩔래
finally는 옵션이다.
주로 자원정리가 목적이다. 예외가 발생하던 안하던 들어감.
심지어 try에서 return 을 해도 finally가 실행된다.
1 | int result=0; |
checked Exception
메소드를 사용하기 위해서는 반드시 예외를 처리해 줘야함 (ex> FileInputStream)
실습1.
1 | public static void main(String[] args) { |
실습2. 나의 Exception 정의
MyException 정의
1 | public class MyException extends Exception{ |
MyClass 정의
1 | public class MyClass { |
MyClassTest 정의
1 | public class MyClassTest { |