본문 바로가기

용어 정리

참조: https://e2xist.tistory.com/581(새 창 열림)


abstract class / method: 추상 클래스 / 메소드

interface: 인터페이스

concrete class / method: 구상 클래스 / 메소드 

     - 구현이 완료된 클래스 / 메소드

super class: 상위 클래스, 기반 클래스(base 클래스)와 혼용된다. 

                단, 슈퍼 클래스라는 용어는 다른 언어에서는 최상위 클래스를 뜻하기도 한다.

sub class: 하위 클래스, 파생 클래스, 유도 클래스(derived class), 자식 클래스(child class)와 

  혼용된다.

instance: 인스턴스 

  - 클래스로부터 만들어진 객체

inherit[inheritance]: 상속

extends: 자식 클래스가 부모 클래스의 형식으로 확장한다(extend)는 의미.

implements: 인터페이스를 클래스로 구현한다는 의미.


추상 클래스 

- 멤버: 필드(상수도 가능), 추상 메소드, 구상 메소드

- 여러 개의 추상 클래스를 상속할 수 없다.

- 자식 클래스들의 공통점(필드, 메소드)을 추려놓은 것

- 인스턴스 생성 불가


인터페이스 

- 멤버: 상수 필드, 추상 메소드, 정적 메소드, 디폴트 메소드,

- 여러 개의 인터페이스를 구현할 수 있다.

- 구현 클래스들의 공통점을 추려놓은 것: (가상) grouping

- 인스턴스 생성 불가


구상 클래스

- 멤버: 필드(상수도 가능), 메소드, 생성자, 구상 메소드

- 여러 개의 구상 클래스를 상속할 수 없다.

- 추상 메소드는 가질 수 없다. 추상 메소드가 하나라도 있으면 추상 클래스.


Overloading: 오버로딩

- 메소드의 매개변수 값, 개수, 반환형 등이 달라도 이름은 같으면 다른 메소드로 

  인식한다.

Overriding: 오버라이딩(재정의)

    - 부모 클래스에서 상속받은 메소드를 자식 클래스에서 다르게 사용하고 싶다면,

 자식 클래스에서 기능을 재정의하면 된다. 

 이 때  @Override 라는 annotation으로 재정의된 메소드임을 명시하는 게 좋다.




'Programming > Java' 카테고리의 다른 글

Managed code  (0) 2019.07.04
IO 입출력  (0) 2019.05.23
자바에서의 배열 선언 및 초기화  (0) 2019.05.08
BigInteger 클래스  (0) 2019.04.17
[과제] 호텔 예약 프로그램  (0) 2019.04.08