본문 바로가기
스파르타 내배캠

[TIL] #5. Abstract, Interface, Exception

by saemsaem 2024. 4. 25.


 [ 알고리즘 세션 ] 

알고리즘(Algorithm)

: 어떤 작업을 수행하기 위해 입력을 받아서 원하는 출력을 만들어내는 과정을 기술한 것
- 필요성 : 복잡한 문제를 효율적, 효과적으로 해결

 

자료 구조(Data Structure

: 개발자가 데이터를 효율적으로 사용할 수 있도록 정리하는 방법

 


 

 [ Java 문법 종합반 3주차 ] 

추상 클래스 [Abstract]

: 미완성된 설계도 ⇒ 부모 클래스가 완성시키지 않은 method를 자식 클래스가 extends 받아서 완성시킨다.

  • abstract 리턴타입 메서드이름 (매개변수);  까지만 선언한다.
  • 상속받은 추상 메서드는 반드시 오버라이딩 되어야 한다.
  • 상속받는 모든 클래스에서 같은 메서드를 가질 때 사용하면 효율적으로 코드를 작성할 수 있다.

 

인터페이스 [Implements]

: 두 객체를 연결해주는 다리 역할

  • 상속 관계가 없는 클래스들이 동일한 동작을 가질 때 사용할 수 있다.
  • 인터페이스의 멤버
    • 모든 멤버 변수는 public static final 이어야 한다.
    • 모든 메서드는 public abstract 이어야 한다. → 반드시 오버라이딩 되어야 한다.
  • 인터페이스끼리는 다중 상속이 가능하다. (일반 class는 불가능)

 


 

 [ Java 문법 종합반 4주차 ] 

오류 vs. 예외

  • 오류 (error) : 회복이 불가능한 문제
  • 예외 (exception) : 회복이 가능한 문제 ⇒ 인지하고 대응할 수 있음
    • 컴파일 에러 : 자바 문법에 맞지 않았기 때문에 발생
    • 런타임 에러 : 프로그램 실행 도중 발생하는 예외
    • checked exception : 시전에 알고 있었고, 예외 처리를 할 수 있었던 것 (예외처리 필수!)
    • unchecked exception : 예외를 사전에 확인할 수 없었던 것 (예외처리가 반드시 필요하지는 않음)

 

try-catch, finally문

  1. 예외를 정의하고
  2. 예외가 발생할 수 있음을 알리고 (예외가 발생할 수 있는 로직에 flag를 달아놓기! = throws)
  3. 예외를 핸들링 하기 (flag에 맞는 처리하기 = thorw)
try {
	일단 시도해봐
} catch () {
	예외가 발생하면 잡아서 예외를 처리해!
} finally {
	정상이든, 예외가 발생했든, 이건 수행해
}

 

'스파르타 내배캠' 카테고리의 다른 글

[TIL] #7. thread  (0) 2024.04.29
[TIL] #6. fianl, static  (1) 2024.04.27
[TIL] #4. 객체지향 프로그래밍  (0) 2024.04.24
[TIL] #3. 연산자, 반복문, 배열, 컬렉션  (0) 2024.04.23
[TIL] #2. Java 진짜시작  (0) 2024.04.22