💡 해당 글은 『자바의 신 3판』을 복습하며 도서의 내용과 본인의 주관적인 생각을 정리한 글입니다.
☁️ 내용정리
JDK에는 엄청나게 많은 클래스와 메서드가 포함되어 있다. 우리는 API 문서를 통해 클래스와 메서드의 명세를 확인할 수 있다.
Overview (Java SE 11 & JDK 11 )
This document is divided into two sections: Java SE The Java Platform, Standard Edition (Java SE) APIs define the core Java platform for general-purpose computing. These APIs are in modules whose names start with java. JDK The Java Development Kit (JDK) AP
docs.oracle.com
Concrete?
자바 문서를 보면 Concrete
라는 키워드가 자주 보인다.
new 키워드를 사용하여 인스턴스를 만드는 클래스를 Concrete(구상) 클래스라고 한다.
abstaract class를 제외한 모든 클래스는 Concrete class라고 생각하면 될 것 같다.
Concrete Method란 implement 혹은 abstaract method를 구현한 혹은 Override한 메서드란 의미이다.
☁️ 내 생각
Deprecated?
deprecated
란 더 이상 사용하지 않는다는 의미이다.
더 이상 사용되지 않는다면 삭제하면 되는 거 아닌가라고 생각을 했었다.
deprecated 메서드를 남겨놓는 이유는 하위 호환성
때문이다.
만약 내 라이브러리가 version 1.0 에서 a라는 메서드를 public으로 선언하여 배포했다.
많은 사람들이 내 라이브러리를 import하여 a라는 메서드를 자신들의 프로그램의 로직에 추가하여 사용했다.
나는 a라는 메서드는 프로그램에 오류를 발생시킬 수 있는 가능성이 있다는 것을 발견하고, a메서드를 version 1.1에서 삭제시켜버렸다.
많은 사람들이 내 라이브러리의 latest 버전으로 업그레이드하여 프로그램을 실행시켰는데? a 메서드를 포함한 모든 프로그램이 정상적으로 동작하지 않는 문제가 생겨버린다.
이러한 이유 때문에 더 이상 사용되지 않는 메서드를 deprecated로 선언하고 계속 남겨놓는 것이다.
deprecated된 기능을 적절하게 삭제하려면 특정 기간의 버전까지 해당 메서드를 남겨놓겠다고 알려준 뒤 삭제하는 것이 좋아보인다.
'JAVA > 자바의 신' 카테고리의 다른 글
13장. 인터페이스와 추상클래스, enum (0) | 2024.01.05 |
---|---|
12장. 모든 클래스의 부모 클래스는 Object에요 (0) | 2024.01.05 |
10장. 자바는 상속이라는 것이 있어요 (0) | 2024.01.05 |
9장. 자바를 배우면 패키지와 접근 제어자는 꼭 알아야 해요 (0) | 2024.01.05 |
8장. 참조 자료형에 대해서 자세히 알아봅시다. (1) | 2024.01.05 |