예외 처리란? 예외 처리는 프로그램의 정상적인 흐름을 방해하는 이벤트에 대응하는 코드의 작성을 의미합니다. Java에서는 try, catch, finally, throw, throws 키워드를 사용하여 예외를 처리합니다. 이러한 메커니즘을 통해 개발자는 예외 상황에 대해 명시적으로 대응할 수 있고, 프로그램의 안정성과 신뢰성을 높일 수 있습니다. 예외의 유형 Java에서는 크게 두 가지 유형의 예외를 다룹니다: 체크된 예외(checked exceptions)와 언체크된 예외(unchecked exceptions). 체크된 예외: 컴파일 시간에 체크되는 예외로, 주로 외부의 영향으로 발생하는 예외입니다. 예를 들어, 파일을 읽을 때 해당 파일이 없는 경우 발생합니다. IOException이 이에 해당합니다..
추상 클래스(Abstract Class) 개념 추상 클래스는 하나 이상의 추상 메소드(구현이 없고, 선언만 있는 메소드)를 포함할 수 있는 클래스입니다. 추상 클래스는 직접 인스턴스화할 수 없으며, 상속을 통해 자식 클래스에서 추상 메소드를 구현해야 합니다. abstract class Animal { abstract void makeSound(); void breathe() { System.out.println("I can breathe."); } } 위 예제에서 Animal 클래스는 추상 클래스로, makeSound 메소드는 추상 메소드입니다. breathe 메소드는 일반 메소드로, 구현이 제공됩니다. 사용 이유 공통적인 메소드 구현을 제공하면서도, 일부 메소드는 자식 클래스에서 구현하도록 강제합니다...
상속(Inheritance) 상속은 한 클래스가 다른 클래스의 속성과 메소드를 이어받는 메커니즘입니다. 상속을 통해 기존 코드를 재사용하고 확장할 수 있으며, 이는 코드의 중복을 줄이고 유지보수를 용이하게 합니다. 기본 구조 class Vehicle { public void display() { System.out.println("I am a vehicle."); } } class Car extends Vehicle { @Override public void display() { super.display(); System.out.println("I am a car."); } } Car 클래스는 Vehicle 클래스로부터 상속을 받습니다(extends 키워드 사용). @Override 애노테이션은 Vehi..
클래스(Class) 클래스는 객체를 생성하기 위한 청사진 또는 템플릿입니다. 클래스는 객체의 상태를 나타내는 속성(변수)과 객체의 행동을 나타내는 메소드(함수)로 구성됩니다. 클래스는 데이터와 메소드를 하나의 단위로 묶어 관리할 수 있게 해주는 구조체입니다. public class Car { // Car 클래스의 속성(변수) String brand; int year; // Car 클래스의 메소드 void drive() { System.out.println("This car is driving."); } } 위의 예시에서, Car 클래스는 brand와 year라는 두 개의 속성과 drive라는 메소드를 가지고 있습니다. 이 클래스는 자동차라는 객체를 모델링한 것으로 볼 수 있습니다. 객체(Object) 객..