인터페이스의 기능
클래스와 클래스 사이의 계약(Contract)을 정의하는 역할
1.메서드 선언: 인터페이스는 메서드의 원형(시그니처)을 정의할 수 있습니다. 하지만 메서드의 구현은 인터페이스에서 직접 제공되지 않으며, 구현 클래스에서 수행됩니다.
2.다중 상속 지원: 클래스는 다중 상속을 지원하지 않지만, 인터페이스는 다중 상속을 지원합니다. 클래스가 다른 클래스를 상속받고 동시에 여러 인터페이스를 구현할 수 있습니다.
3.계약 규정: 인터페이스는 클래스가 어떤 메서드를 구현해야 하는지를 명시합니다. 클래스가 인터페이스를 구현한다면, 해당 클래스는 인터페이스에 정의된 모든 메서드를 제공해야 합니다.
4.다형성 지원: 인터페이스는 다형성을 구현하는 데 사용될 수 있습니다. 인터페이스 타입으로 변수를 선언하고, 이 변수에 여러 클래스의 인스턴스를 할당할 수 있습니다. 이를 통해 코드의 유연성과 재사용성을 높일 수 있습니다.
5.API 설계: 인터페이스는 클래스와 클래스 사이의 통신을 위한 API(Application Programming Interface)를 제공합니다. 인터페이스를 통해 외부에서 클래스의 기능을 호출하고 사용할 수 있습니다.
6.프로그램 확장성: 인터페이스를 사용하면 클래스의 구현을 변경하지 않고도 새로운 기능을 추가할 수 있습니다. 인터페이스를 구현하는 새로운 클래스를 작성하면서 기존 코드를 수정할 필요가 없어지므로, 코드 유지 보수와 확장이 용이해집니다.
예외처리에 대한 10줄 요약
1.자바 예외처리는 프로그램 실행 중에 발생하는 예외 상황에 대비하여 처리하는 메커니즘입니다.
2.예외는 실행 중에 발생하는 오류 또는 예기치 않은 상황을 나타내며, 런타임 예외와 일반 예외로 나뉩니다.
3.런타임 예외(Runtime Exception)는 프로그램의 잘못된 사용이나 로직 오류에 의해 발생하며, 예외 처리를 강제하지 않습니다.
4.일반 예외(Exception)는 컴파일러가 체크하며, 예외 처리를 필요로 합니다.
5.try-catch 문은 예외가 발생할 수 있는 부분을 감싸고, 예외 발생 시 해당 예외를 처리하는 코드 블록(catch 블록)을 실행합니다.
6.catch 블록은 발생한 예외와 일치하는 예외 클래스를 사용하여 예외를 처리합니다.
7.finally 블록은 예외 발생 여부와 상관없이 항상 실행되는 블록으로, 리소스의 해제나 정리 작업을 수행하기 위해 사용됩니다.
8.throws 키워드를 사용하여 메서드가 발생시킬 수 있는 예외를 선언하면, 해당 메서드를 호출한 곳에서 예외 처리를 수행해야 합니다.
9.사용자 정의 예외를 만들어 특정 상황에 맞는 예외를 발생시킬 수 있습니다. 이를 통해 코드의 가독성과 유지 보수성을 높일 수 있습니다.
10.예외 처리는 프로그램의 안정성을 높이고 예측할 수 없는 상황에서 프로그램의 비정상 종료를 방지하기 위해 중요한 개념입니다.