728x90

 메소드에 주소가 있다는 것은 sub 클래스에서 메소드 오버라이딩을 하면 새로운 코드의 주소가 생성됨을 의미합니다.

 

상속이 다형성의 다양한 설계 유연성을 제공함에도 불구하고 무분별한 상속의 사용은 권장하지 않습니다. 

 

 instanceof 키워드를 사용하여 ‘base 클래스 참조변수인데 어느 sub 클래스의 인스턴스인지 기억이 안나거나 헷갈릴 때’ boolean 으로 검증할 수 있습니다.

 

추상 클래스(abstract)는 인스턴스가 불가능한 클래스를 말합니다.

 

추상 클래스는 그 자체로는 사용이 안되고 sub 클래스가 상속을 받아 구현을 해줘야 합니다.

 

많은 인원이 참여하는 큰 프로젝트에 적합한 설계방식입니다. 또는 오픈소스 프레임워크를 만드는데 사용될 수 있습니다. JDK에서도 사용합니다.

 

abstract 클래스라도 static 메소드를 사용할 수 있습니다. 

 

상수는 변수와 달리 변하지 않는 수이기 때문에 초기화 후 값을 대입하려고 하면 컴파일러가 오류를 발생시킵니다.

 

클래스 앞에 final 을 붙이면 그 클래스는 확장 불가능하게 됩니다. 다시 말하면 상속이 불가능합니다. 

 

final 메소드는 오버라이드가 불가능합니다. 더이상 메소드를 변형시킬 수 없습니다.

 

인터페이스에서 정의한 변수는 컴파일러가 public static final 키워드를 붙여서 모두 상수가 됩니다.

 

인터페이스에는 메소드 헤드만 선언할 수 있습니다. 추상 클래스에서는 body 를 구현하는 것이 프로그래머의 자유였습니다. 

 

인터페이스와 추상클래스의 가장 큰 차이는 클래스는 base 가 하나만 가능하지만 인터페이스는 여러개를 구현할 수 있습니다.

 

static 키워드를 사용하면 인스턴스가 생성되기 전에 인터페이스를 메모리에 로드하기 때문입니다. 

 

기존 클래스 사용의 상속개념은 extends 키워드이고 인터페이스 구현은 implements 입니다. 

 

Runnable 내부 클래스는 클래스 안에서 메소드의 내부에 클래스를 정의해서 사용하는 것을 말합니다. 지역 내부 클래스라고도 합니다.

 

모든 클래스는 묵시적으로 extends Object 를 합니다.

 

제네릭 프로그래밍에서는 필요에 따라 자료형을 다양하게 바꿀 수 있습니다.

 

Iteration 은 같은 프로시저를 여러번 반복하는 것을 의미합니다.

 

HashSet 도 중복되지 않도록 사용할 수 있습니다. HashSet 은 SET 이라 인덱스가 없습니다. 

 

자바 TreeSet 클래스는 이진 검색 트리를 구현한 자료형입니다. 역시 Set 인터페이스의 특징으로 중복이 제거됩니다.

 

Comparable 인터페이스는 콜렉션 프레임워크에서 비교와 정렬에 사용

 

finally try-catch 문의 마지막에 항상 실행되는 코드를 넣습니다

728x90

'🟢 개념 정리 > Java' 카테고리의 다른 글

Do it 자바 프로그래밍 책 정리  (0) 2023.07.04
Collections  (0) 2023.06.28
Enum  (0) 2023.01.02
Map의 종류, 쓰레드란?  (0) 2022.08.01
자바 튜토리얼 ( 기초 ~ 오버라이딩 )  (0) 2022.05.31

+ Recent posts