추상 클래스~

호이잇·2023년 7월 5일
0

JAVA

목록 보기
10/12

추상 클래스

  • 클래스가 설계도라면 추상클래스는 '미완성 설계도'
  • 추상메서드(미완성 메서드)를 포함하고 있는 클래스
    - 추상메서드 : 선언부만 있고 구현부(몸통, body)가 없는 메서드

인터페이스 (interface)

  • 일종의 추상클래스, 추상클래스 보다 추상화 정도가 높음
  • 실제 구현된 것이 전혀 없는 기본 설계도 (알맹이 없는 껍데기)
  • 추상메서드와 상수만을 멤버로 가질 수 있다.
  • 인스턴스를 생성할 수 없고, 클래스 작성에 도움을 줄 목적으로 사용
  • 미리 정해진 규칙에 맞게 구현하도록 표준을 제시하는 데 사용

인터페이스 상속

  • 인터페이스도 클래스처럼 상속이 가능하다. (클래스와 달리 다중상속 허용)
  • 인터페이스는 Object클래스와 같은 최고 조상이 없다.

인터페이스의 구현

  • 인터페이스를 구현하는 것은 클래스를 상속받는 것과 같다. 다만, extends 대신 implements를 사용한다.
  • 인터페이스에 정의된 추상 메서드를 완성해야 한다.
  • 상속과 구현이 동시에 가능

내부 클래스

  • 클래스 안에 선언된 클래스
  • 특정 클래스 내에서만 주로 사용되는 클래스를 내부 클래스로 선언한다.
  • GUI어플리케이션(AWT, Swing)의 이벤트처리에 많이 사용된다.

ex) - 잘 쓰는 케이스는 아니다

  • 내부 클래스 중 인스턴스 클래스 메모리 누수 등
  • 문제가 발생할 수 있어서 특별한 경우가 아니면 잘 안쓴다
  • 내부 클래스의 장점
    - 내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근할 수 있다.
    • 코드의 복잡성을 줄일 수 있다.(캡슐화)

static 내부 클래스

예외처리

  • 컴파일 에러(compile-time error)와 런타임 에러 (runtime error)
    * 컴파일 에러 - 컴파일할 때 발생하는 에러
    • 런타임 에러 - 실행할 때 발생하는 에러
    • 논리적 에러 - 의도와 다르게 동작(실행시)

예외처리의 정의와 목적

  • 에러(error)는 어쩔 수 없지만, 예외(exception)는 처리해야 한다.
  • 에러(error) - 프로그램 코드에 의해서 수습될 수 없는 심각한 오류
  • 예외(exception) - 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류

예외처리(exception handling)의

  • 정의 - 프로그램 실행 시 발생할 수 잇는 예외의 발생에 대비한 코드를 작성하는 것
  • 목적 - 프로그램의 비정상 종료를 막고, 정산적인 실행상태를 유지하는 것

예외처리구문 - try-catch

finally

  • 예외의 발생여부와 관곙벗이 실행되어야 하는 코드를 넣는다.
  • 선택적으로 사용할 수 있으며, try-catch-finally의 순서로 구성된다.
  • 예외 발생시, try -> catch -> finally의 순서로 실행되고 예외 미발생시, try -> finally의 순서로 실행된다.

스프링에서 많이 하는 구문

throws

  • 예외를 처리히ㅏㄴ 후에 다시 예외를 생성해서 호출한 메서드로 전달하는 것
  • 예외가 발생한 메서드와 호출한 메섣, 양쪽에서 예외를 처리해야 하는 경우에 사용

사용자 정의 예외 만들기

  • 기존의 예외 클래스를 상속받아서 새로운 예외 클래스를 정의할 수 있다


String 클래스

수학관련 클래스

  • 수학계산에 유용한 메서드로 구성되어 있다(모두 static 메서드)

wrapper클래스

profile
코린이의 전원일기

0개의 댓글