Language/Java 2

[Java] Generics

1. 정의 - 타입을 일반화 하는 것을 의미 - 클래스 내부에서 정하는 것이 아닌 사용자 호출에 의해 타입이 지정되는 것 - class / interface / method 등의 타입을 파라미터로 사용할 수 있게 해주는 역할 - Java 5 부터 추가된 개념 ex) List list = new ArrayList(); // 는 diamond라고도 하고 제네릭 표현식임 2. 사용하는 이유 1) 재사용성 증가 : 여러 타입의 파라미터를 삽입해 객체를 생성할 수 있기 때문에 코드를 간결하게 하고, 재사용성을 높인다 2) 컴파일 시 타입 에러 발견 가능 : 컴파일시 잘못 사용되는 문제점을 발견할 수 있기 때문에 런타임 단계에서 발견 될 가능성을 방지한다 3) 컴파일러가 타입 변환 수행: 컴파일 단계에서 타입 캐스..

Language/Java 2022.10.26

Java Basic

Java Basic JVM(Java Virtual Machine) 동작 방식 (1) Class Loader JVM내로 클래스 파일을 로드하고, 링크를 통해 배치하는 작업 수행 (2) Execution Engine class loader를 통해 JVM 내의 Runtime Data Area에 배치된 바이트 코드드을 명령어 단위로 읽어서 실행함 (3) Garbage Collector heap 메모리 영역에 생성된 객체들 중 참조되지 않은 객체들을 탐색 후 제거하는 역할 (4) Runtime Data Area JVM의 메모리 영역으로 자바 애플리케이션을 실행할 때 사용되는 데이터들을 적자하는 영역 - Method Area: 모든 스레드가 공유하는 메모리 영역으로 class, interface, method, f..

Language/Java 2022.07.22