String, StringBuffer, StringBuilder의 장단점 및 차이점
이들의 공통점은 모두 String(문자열)을 저장하고 관리하는 클래스들이다.
어떤 차이점이 있을까?
String과 (StringBuffer, StringBuilder)의 차이점은
String은 immutable(불변)하고
StringBuffer, StringBuilder는 mutable(가변)하다는 점이다.
인터페이스(Interface)와 추상 클래스(Abstract class)
추상 클래스와 인터페이스는 선언만 있고 구현 내용이 없는 클래스다.
따라서 인터페이스와 추상 클래스를 가지고 새로운 인스턴스(객체)를 생성할 수 없다.
추상 클래스를 extends로 상속받아 구현한 자식 클래스나
인터페이스를 implements하고 구현한 자식 클래스만이 객체를 생성할 수 있다.
strong > soft > weak > (phantom ?) > unreachable
오른쪽으로 갈수록 GC의 수거 대상 확률이 높아진다.