2025/05/12 6

예외(Exception) / 예외처리(Exception Handling) / try-catch / finally

1. 예외란 프로그램 실행 중에 발생하는 오류 중에서 처리가 가능한 것을 말합니다. 프로그램을 작동시킬 때 종종 예기치 못한 상황을 만나게 됩니다. 이런 상황들은 처음에 프로그램을 만든 프로그래머가 의도한 상황이 아니기 때문에 프로그램 실행 전체에 악영향을 끼칠 수 있습니다. 이러한 상황 중에서 개발자가 조치할 수 없는 수준의 오류를 에러(Error), 수습될 수 있는 비교적 덜 심각한 오류를 예외(Exception) 라고 합니다. 2. 예외처리란 예외가 발생했을 때 이를 적절히 처리하여 프로그램이 비정상적으로 종료되는 것을 막는 방법입니다. 예를 들면 사용자가 숫자를 입력해야 하는 곳에 문자를 입력한다거나 컴파일에는 이상이 없지만 개발자가 작성한 알고리즘이 잘못 되어 예외가 발생하는 경우에 개발자..

JAVA/예외처리 2025.05.12

내부 클래스

1. 내부 클래스란? 내부 클래스는 어떠한 클래스의 내부에 생성된 클래스입니다. 클래스가 설계도라면 내부 클래스는 큰 틀의 설계도를 완성하기 위한 내부 부품의 설계도라고 생각하면 됩니다. 2. 내부 클래스의 종류● 인스턴스 클래스● 스태틱 클래스● 지역 클래스 3. 내부 클래스의 접근성내부 클래스도 클래스이기 때문에선언부에 제어자를 사용합니다. 그리고 내부 클리스는 멤버변수와 같이 다루어지기 때문에 접근제어자를 사용합니다. package chapter08;class OuterClass1 { void a() { System.out.println("method a"); } void b () { System.out.println("method b"); }}public class exam58 { publi..

인터페이스

인터페이스는 객체간 상호 작용을 위한 일종의 규약입니다. 1. 인터페이스란? 인터페이스란 물체들 사이에서 상호작용을 하기 위한 매개역할을 하는것 클래스가 설계도라면 인터페이스는 설게할 때 필요한 목록을 써놓은 종이에 비유합니다. 종이를 바탕으로 설계도를 작성하듯 프로그래머는 인터페이스를 바탕으로 클래스를 작성합니다. 2. 인터페이스 문법인터페이스는 상수와 추상 메서드를 멤버로 가질 수 있습니다. 추상 메서드와 일반 멤버를 모두 가질 수 있는 추상클래스보다 더 기본적인 구조라고 합니다. 인터페이스는 키워드로 interface를 사용하며 제어자로 상수 앞에는 public final static을 메서드 앞에는 public abstract를 붙입니다. package chapter08;public class..

추상 메서드와 추상 클래스

1. 추상 메서드추상 메서드는 선언부만 정의하고 구체적인 내용은 비워놓은 메서드 abstract를 메서드명 앞에 붙여준다 2. 추상 클래스추상 클래스는 추상 메서드를 멤버로 가지는 클래스입니다. 추상 클래스는 일반적인 메서드도 가질 수 있지만 추상 메서드를 하나라도 포함하는 클래스입니다. package chapter08;abstract class Pokemon { String name; abstract void attack(); abstract void sound(); public String getName() { return this.name; }}class Pikachu extends Pokemon { Pikachu() { this.name = "피카츄"; } @Override void at..

다형성

다향성은 객체지향언어에서 객체의 자료형을 변경하는 것을 말합니다. 1. 다향성이란 ? 다향성은 사전적 의미로는 '여러 형태를 가지는 성질'을 뜻합니다. 객체지향 개념에서 다향성은 '한 가지 타입이 여러 가지 형태의 인스턴스를 가질 수 있다'라는 의미입니다. 특히, 부모 타입 변수에는 모든 자식 인스턴스들이 대입될 수 있는데, 이 점은 객체지향언어의 중요한 특징 중의 하나입니다. package chapter07;public class exam51 { public static void main(String[] args) { Lion2 lion1 = new Lion2(); ZooKeeper2 james = new ZooKeeper2(); james.feed(lion1); }}package chapter0..