목록전체 글 (50)
개발저장소
예외란?프로그래밍 과정에서 발생한 오류 중에 개발자가 해결할 수 있는 오류를 예외(exception)이라고 한다.그리고 이를 적절하게 조치하는 것을 예외 처리라고 한다. 예외와 에러의 차이점예외(exception)와 에러(error)는 비슷하지만 다른 의미를 가진다.연산, 숫자 포맷 오류 같은 상황에 따라 개발자가 해결할 수 있는 오류는 예외라고 한다.그리고 JVM 자체에서 발생하는 오류 같은 개발자가 해결할 수 없는 오류를 에러라고 한다. 둘 다 Throwable 클래스를 상속하며 Exception은 일반 예외(checked exception)와 실행 예외(unchecked/runtime exception)로 나뉜다. 일반 예외는 컴파일 이전에 검사하며 실행 예외는 실행할 때 발생한다.일반 예외는 In..
1. 이너 클래스클래스 내부에 포함되는 클래스인스턴스 이너 클래스정적 이너 클래스지역 이너 클래스 (메서드 내부에서 정의) 인스턴스 이너 클래스는 아우터 클래스의 모든 필드와 메서드에 접근 가능하다.A 클래스 내에 B 이너 클래스가 존재한다면, A a = new A(), A.B b = a.new B()와 같이 아우터 클래스를 선언해야 사용할 수 있다. 마찬가지로 A.this.필드명 같은 방법으로 참조 가능하다. 정적 이너 클래스도 마찬가지로 static의 속성에 맞게 사용 가능하다. 정적 이너 클래스는 아우터 클래스의 정적 필드와 메서드만 사용 가능하다. 지역 이너 클래스메서드 내에서 정의된 클래스이다. 지역 변수처럼 메서드 내부에서만 사용할 수 있으므로, 지역 이너 클래스는 선언 후 바로 객체를 생성해..
abstract 제어자'추상적인' 이라는 뜻. 추상 메서드나 추상 클래스에 사용된다. 구체적이지 않은 메서드를 추상 메서드라고 하며 이를 하나라도 포함하는 클래스를 추상 클래스라고 한다.추상 메서드는 중괄호가 존재하지 않아 기능이 정의되지 않는다. 어떤 기능을 정의하지 않은 미완성 메서드라고 볼 수 있다.abstract 리턴 타입 메서드명 (); 과 같은 구조를 가진다. abstract를 사용하지 않더라고 충분히 상속과 오버라이딩을 사용할 수 있다. 하지만 추상 클래스를 상속 받은 자식 클래스는 반드시 추상 메서드를 오버라이딩 해야 한다는 특징이 있다. 자식 클래스로 하여금 확장을 유도하도록 하는 이점이 생긴다. abstract를 사용하면 자식 클래스에서 무조건 메서드를 오버라이딩해서 재정의해야하므로 오..
1. 클래스의 상속상속(Inheritance)은 부모 클래스의 필드, 메서드, 이너 클래스를 내려 받아 자식 클래스 내부에 포함시키는 자바의 문법요소이다. 대학생 클래스와 직장인 클래스가 있다고 가정하자. 대학생 클래스에는 이름, 나이, 학번이라는 필드와 먹기, 잠자기, 등교하기라는 메서드가 존재한다.직장인 클래스에는 이름, 나이, 사번과 먹기, 잠자기, 회사가기라는 메서드가 존재한다.두 클래스 모두 이름과 나이, 먹기와 잠자기가 공통으로 포함한다. 이름과 나이, 먹기와 잠자기를 가진 사람 클래스를 만들어 대학생과 직장인 클래스가 상속받도록 하면, 추가로 필드와 매서드만 구성하면 된다. 즉, 부모 클래스는 자식 클래스의 공통적인 특징을 모아 구성한 클래스라고 볼 수 있다. 상속의 장점1. 상속으로 인해 ..