Chap4_JavaStudy

Date : 2021.01.17   Modified date : 2021.01.17

4장의 주요 내용 정리

abstract class

추상 클래스란 추상 메서드를 하나 이상의 추상 메소드를 포함하는 클래스 이다. 반드시 추상 클래스(Abstract Class)로 선언해야한다.

  • 특징
    • 추상 클래스는 인스턴스를 만들 수 없다.
    • 추상 메서드는 하위 클래스에게 메서드의 구현을 강제한다. 오버라이딩 강제
    • 추상 메서드를 포함하는 클래스는 반드시 추상 클래스여야 한다.
  • 사용 목적
    • 공통된 필드와 메서드를 통일할 목적 ( 유지 보수성 높이고, 통일성 유지가능 )
    • 실체클래스 구현시, 시간절약 가능
    • 규격에 맞는 실체클래스 구현

final

  • final 클래스
    • 상속을 허락하지 않겠다는 의미
  • final 변수
    • 변경 불가능한 상수
    • 정적 상수 선언시에, 또는 정적 생성자에 해당하는 static 블록 내부에서 초기화가 가능
    • 객체 상수 선언시에, 또는 객체 생성자 또는 인스턴스 블록에서 초기화 가능
  • final 메서드
    • 메서드의 재정의, 즉 오버라이딩이 불가능하게 막음

instanceof

만들어진 객체가 특정 클래스의 인스턴스인지 물어보는 연산자이다. instanceof 연사자는 결과로 true또는 false를 반납한다.

객체 참조 변수의 타입이 아닌 실체 객채의 타입에 의해 처리, 강력한 연사자이긴 하지만 객체 지향 설계 5원칙 가운데 LSP(리스코프 치환 원칙)를 어기는 코드에서 주로 나타나는 연산자. 리팩터링의 대상이 아닌지 점검 해봐야 한다.

interface

인터페이스는 public 추상 메서드와 public 정적 상수만 가질 수 있다. 그러므로 public과 abstract, 속성에 public과 staticc, final을 붙이지 않아도 자동으로 자바가 알아서 붙여준다.

기타 키워드

  • package
    • 네임스페이스(이름공간)를 만들어주는 역할을 한다.
  • this
    • 객체가 자기 자신을 지칭할 때 쓰는 키워드 이다.
    • 지역 변수와 속성(객체 변수, 정적 변수)의 이름이 같은 경우 지역 변수가 우선한다.
    • 객체 변수와 이름이 같은 지역 변수가 있는 경우 객체 변수를 사용하려면 this를 접두사로 사용한다.
    • 정적 변수와 이름이 같은 지역 변수가 있는 경우 정적 변수를 사용하려면 클래스명을 접두사로 사용한다.
  • super
    • super는 바로 위 상위 클래스의 인스턴스를 지칭하는 키워드 이다.

참고자료

저자 ‘김종민’님의 스프링 입문을 위한 자바 객체 지향의 원리와 이해

https://limkydev.tistory.com/188 - Limky 삽질 블로그

카테고리: