/ LECTURE

Java - Abstract / Interface

이 페이지는 다음에 대한 공부 기록입니다

JAVA(자바), Python(파이썬) 기반의

AI 활용 응용 소프트웨어 개발자 양성 과정

2021.11.10. ~ 2022.05.18.

찾으시는 정보가 있으시다면
주제별reference를 이용하시거나
우측 상단에 있는 검색기능을 이용해주세요

22일차 수업

오버라이딩 : 부모의 클래스에 정의된 내용을 재정의

부모 클래스에는 정의된 내용이 필요가 없어 작성하지 않았다가 재정의하는 것을 잊고 사용하게 되면 문제가 발생(미구현 코드가 실행)

오버 라이딩을 목적으로 하는 부모클래스, 자식클래스

추상 클래스 : 무조건 재정의를 해야하는 클래스

추상 메소드 : 무조건 재정의를 해야하는 메소드

  • 틀만 주어짐, 메소드명, 리턴타입, 파라미터 타입 정도만 필수

추상 메소드

선언부만 존재, 구현부는 미존재

abstract 접근제어자 반환자료형 메소드명 (파라미터);

  • abstract : 추상 메소드, 추상 클래스로 만드는 키워드

추상클래스

추상 메소드가 있는 클래스

추상 메소드가 하나 이상 존재하는 경우에 일반 클래스를 추상클래스로 변환

추상 클래스를 상속받은 자식 클래스는 반드시 추상 메소드를 구현해야한다

추상 메소드는 추상 클래스에서 선언한 방식대로 선언

추상 클래스는 절대 혼자 인스턴스가 되지 못함

인터페이스

다중 상속을 하기 위한 장치

인터페이스를 구현받을 때는 implements 키워드 이용, 여러개 가능, 상속도 동시에 가능

  • class 상속받을 클래스 extends 추상클래스 implements 인터페이스1, 인터페이스2

클래스는 상속, 인터페이스는 구현이라고 부름

클래스를 작성할 때의 기본 틀을 제공 / 다른 클래스 간의 중간 매개 역할도 함

필드와 메소드 앞부분 생략할 수 있게 개발 » 생략된 부분들은 알아서 채워서 선언해줌

추상 클래스보다 극단적이고 제한적인 성격

인터페이스 명과 클래스명은 중복이 안됨

인스턴스 생성 못함

추상클래스와 인터페이스의 차이점

  • 인터페이스는 생성자 선언 불가

  • 인터페이스는 추상메소드와 상수 선언만 가능

접근제어자 interface 인터페이스명 {
  public static final 자료형 변수이름 = ;
  public abstract 메소드 이름 (파라미터);
}

final

값을 고정하여 변경하지 못하도록 하는 키워드

오버라이딩, 상속을 막는 것