All

    예외 처리 (이론)

    예외 처리 (이론)

    이번 글에서는 예외처리의 이론적 개념을 정리할 것이다:) ▶오류의 종류 에러(Error) 예외(Exception) 하드웨어의 잘못된 동작 또는 고장으로 인한 오류 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인한 오류 에러가 발생되면 프로그램 종료 예외가 발생되면 프로그램 종료 정상 실행 상태로 돌아갈 수 없음 예외처리 추가하면 정상 실행 상태로 돌아갈 수 있음 ** 예외 ; 경험론적 코딩 기법 why? 미리 경험하여 겪어봐야 예외가 발생하는 것을 알고, 예외를 예상해서 써주는 것이기 때문. ** 예외처리를 추가한다 ; 예외가 발생했을때 그부분을 실행하지않도록 한다. ▶예외의 종류 - 일반(컴파일 체크) 예외 ; 예외 처리 코드 없으면 컴파일 오류 발생 - 실행 예외 (Runtime Excepti..

    기초 #11. 중첩 인터페이스와 익명 객체 (+예제 1,2)

    기초 #11. 중첩 인터페이스와 익명 객체 (+예제 1,2)

    중첩 클래스를 다뤘으니 이제 중첩 인터페이스를 다루겠다. 중첩 인터페이스 ---------------------------------------------------------------------------------------- ▶클래스 내부에 선언한 인터페이스 ▶주로 UI 작업을 위한 이벤트에 많이 활용된다. ▶인터페이스를 클래스 내부에 선언하는 이유? 해당 클래스와 긴밀한 관계를 맺는 구현 클래스를 만들기 위해서. 예제 --------------------------------------------------------------------------------------------------------------------------------- 1. 내부에 중첩 인터페이스 보유한 클래스 코드 ..

    기초 #10. 추상 클래스 Shape (추상클래스 예제편)

    기초 #10. 추상 클래스 Shape (추상클래스 예제편)

    ▶추상클래스에는 추상메서드와 일반 메서드 둘다 정의될 수 있고, ▶추상메서드를 정의할 때는 블록 구현이 없는 것이 특징이다. 1. 추상 클래스 Shape 코드와 상속받는 두 클래스 Rect, Tri public abstract class Shape { double area;//만약 final static double area;로 선언한다면 하위클래스에서 사용하지 못함. public abstract void draw(double w, double h);//블록{}이 구현되지않은 추상메서드! 무조건 재정의. final static void function() { System.out.println("추상 클래스의 정적 메서드입니다. 재정의 못해요."); } } class Rect extends Shape { ..

    기초 #9. 인터페이스 Soldier (인터페이스 예제편)

    기초 #9. 인터페이스 Soldier (인터페이스 예제편)

    이전 글에서 적은 예제인 RemoteControl 인터페이스보다 더 기본에 충실한 예제를 적어보겠다. 1. 인터페이스 Soldier 코드 ▶인터페이스에는 기본적으로 상수와 추상메서드가 있다. ▶인터페이스에는 구현할 클래스들의 공통요소를 정의만 해놓는 역할을 한다. ▶군인의 공통점으로는 팔다리가 있고, 먹고,일하고,놀고,자고,경례를 한다는 점이다. public interface Soldier { final static int arm = 2; int Legs = 2;//컴파일과정에서 자동으로 final static이 붙어, 외부에서 변경 불가능하다. public abstract void eat(); void work();//abstract키워드를 쓰지않아도 추상메서드. why? body {}가 없으니까. v..

    기초 #8. 인터페이스 (+익명 구현 객체)

    기초 #8. 인터페이스 (+익명 구현 객체)

    인터페이스란 ▶하나의 틀, 규격을 말한다! ▶생성자가 없다. (인터페이스에서는 생성의 개념이 없다.) ▶추상클래스와 목적이 같은데, 즉 지정받거나 상속받는 클래스들의 공통요소를 묶기 위함이다. 하지만 추상클래스와는 차이점이 있다. ▶추상클래스와 인터페이스의 차이점 인터페이스 추상클래스 동작 가능성 (생성자 유무) (단, 추상메서드일 경우)동작 실행 개념이 없기 때문에 실질적인 동작구현(블록 {})이 없다. (생성자 X) 실행 개념이 있는 일반 메서드는 구현할 수 있지만 추상메서드의 경우, 동작구현을 하지 않는다.(블록 {}이 없다.) 재정의 강제성 인터페이스에서 정의한 요소를 하위클래스가 모두 재정의하도록 강제성을 부여한다. 재정의 강제성은 있지만 하위클래스가 필요한 요소를 선택해서 쓸수 있다. ** 동..

    기초 #7. 중첩 클래스(인스턴스 멤버 클래스, 정적 멤버 클래스, 로컬 클래스)

    본격적으로 들어가기전에! 우선, 인터페이스는 하나의 규격(틀)으로, 생성자가 없다. 즉, 인스턴스화할 수도, 실행시킬 수도 없다. 익명 구현 객체란 익명 클래스를 통해 만들어진 객체로 일회성이라는 목적성이 있다. 즉, 메모리 heap영역에 객체를 기록할 뿐, 객체의 이름이 없다. 클래스는 인터페이스와 달리 객체를 찍어내는 생성자()가 반드시 존재해야 한다. 클래스 구성요소는 인스턴스와 정적(static) 구성요소가 있다. 중첩 클래스 ---------------------------------------------------------------------------------------- ▶중첩 클래스는 내부 클래스라고도 불린다. (inner class) ▶클래스 내부에 클래스를 선언하여 외부 클래스의..