일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- DI
- java
- 김영한
- fielderror
- 백준
- 테스트코드
- 다형성
- 프록시
- html form
- JSON
- 오블완
- 오버라이딩
- 티스토리챌린지
- 코드트리
- @configuration
- 인터페이스
- 코딩테스트
- objecterror
- 스프링
- 스프링컨테이너
- 추상클래스
- ocp
- 의존관계
- HttpServletResponse
- 참조변수
- equals()
- 서블릿
- 코드트리조별과제
- http 메시지 컨버터
- 싱글톤
- Today
- Total
목록TIL/남궁성의 자바의 정석 (34)
minOS
ch8-9 예외 발생 시키기1. 연산자 new를 이용해서 발생시키려는 예외 클래스의 객체를 만든다. Exception e = new Exception("고의로 발생 시킴");2. 키워드 throw를 이용해서 예외를 발생시킨다. throw e;예제import java.util.logging.Level;import java.util.logging.Logger;public class Ex8_6 { private static final Logger logger = Logger.getLogger(Ex8_6.class.getName()); public static void main(String[] args) { try { Exception e = new Excepti..
ch8-7 printStackTrace() 와 getMessage()- printStackTrace() : 예외 발생 당시의 호출스택(Call Stack)에 있었던 메서드의 정보와 예외 메시지를 화면에 출력한다.- getMessage() : 발생한 예외 클래스의 인스턴스에 저장된 메세지를 얻을 수 있다.public class Ex8_5 { public static void main(String[] args) { System.out.println(1); System.out.println(2); try { System.out.println(3); System.out.println(0 / 0); // 예외 발생 ..
ch8-4 예외 처리하기, try- catch문예외처리1) 정의 : 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것2)목적 : 프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것구조try { // 예외가 발생할 수 있는 코드} catch (ExceptionType1 e1) { // ExceptionType1에 대한 예외 처리} catch (ExceptionType2 e2) { // ExceptionType2에 대한 예외 처리} catch (ExceptionType3 e3) { // ExceptionType3에 대한 예외 처리} ch8-5 try-catch문에서의 흐름- try 블럭 내에서 예외가 발생한 경우,1. 발생한 예외와 일치하는 cat..
ch8-1 프로그램 오류 - 컴파일 에러(compile-time error) : 컴파일 할 때 발생하는 에러- 런타임 에러 (runtime error) : 실행 할 때 발생하는 에러- 논리적 에러 (logical error) : 작성 의도와 다르게 동작1) 컴파일 오류 예시 터미널에서 javac로 컴파일 javac를 이용해서 컴파일하면 에러가 난다. (실행 X)컴파일러 역할- 구문 체크- 번역- 최적화 (생략된 코드 추가 등)2) 런타임 에러 예시해당 코드를 실행하면 해당 오류 발생한다.터미널에서 실행하면 컴파일은 되지만 실행 시점에서 오류가 발생한다. 3) Java 런타임 에러 종류 (error는 프로그램이 비정상 종료 되지만, 예외 처리는 종료를 막을 수 있다.)1) 에러 (error) : 프로그램 ..
ch7-42 내부 클래스(inner class) 예시 class A { // B의 외부 클래스 class B { //A의 내부 클래스 } } 내부 클래스의 장점 - 내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근할 수 있다. - 코드의 복잡성을 줄일 수 있다.(캡슐화) 실습 내부 클래스 사용 X) class A { int i = 100; B b = new B(); } class B{ void method(){ A a = new A(); System.out.println(a.i); } } class C{ B b = new B(); } public class Main { public static void main(String[] args) { B b = new B(); b.method(); } } 출력..
ch7-40 디폴트 메서드와 static 메서드 - 인터페이스에 디폴트 메서드, static 메서드 추가 가능 (JDK 1.8부터) -인터페이스에 새로운 메서드 (추상 메서드)를 추가하기 어려움 -> 해결책 : 디폴트 메서드 예시) MyInterface에 newMethod를 추가한다 가정 interface MyInteface{ void method(); void newMethod(); // 추상메서드 } 이렇게 추상 메서드를 추가하면 기존에 MyInterface를 구현했던 클래스들이 newMethod를 구현해야한다. 이러한 문제점을 아래 코드와 같이 interface MyInterface{ void method(); default void newmMethod(){} // 디폴트 메서드 } 디폴트 메서드를..