본문 바로가기

JAVA27

Casting Casting 개념 casting 형변환이라고도 하며 다른 타입의 정보도 가지고 있어 변환 가능할 경우 사용 목적 다형성을 통해 오버라이딩 된 함수를 분리해서 활용 가능 상속을 통해 프로그래밍 가능 종류 묵시적 형변환 캐스팅이 자동으로 발생 업캐스팅에서 사용 상위 클래스에게 하위 클래스 객체를 할당하는 경우 형변환 기호를 붙이지 않아도 된다. 명시적 형변환 캐스팅 내용을 직접 작성 다운 캐스팅에서 사용 상위 클래스의 객체를 하위 클래스 형태로 변환 소괄호를 통해 구현 Reference https://gyoogle.dev/blog/computer-language/Java/Casting.html 2023. 4. 4.
Wrapper Class Wrapper Class Wrapper Class 개념 기본 타입의 데이터를 객체로 취급해야 하는 경우 객체형태로 포장하는 클래스를 의미 Byte, Short, Integer, Long, Float, Double, Character, Boolean 래퍼 클래스는 산술을 위해 정의된 클래스가 아니라서 인스턴스에 저장된 값을 변경 불가 비교 wrapper class는 객체이기 때문에 동등성을 비교할 때 equals 메서드를 사용하여 비교할 수 있다. Boxing & UnBoxing Boxing 기본 타입의 데이터를 wrapper class로 변환 Unboxing wrapper class를 기본 타입의 데이터로 변환 AutoBoxing & AutoUnBoxing boxing과 unboxing을 자바 컴파일러에.. 2023. 4. 2.
Stream Stream 개념 Collection과 Stream 차이 Collection은 모든 값을 메모리에 저장하는 자료 구조로 Collection에 추가하기 전에 계산이 완료되어 있어야 한다. 외부 반복을 통해 사용자가 직접 반복 작업을 거쳐 요소를 가져온다. Stream은 요청할 때만 요소를 계산하여 내부 반복을 사용하여 추출 요소만 선언하면 알아서 반복 처리한다. 스트림 요소를 따로 추가나 제거하는 작업이 불가 외부 반복 VS 내부 반복 외부 반복 Collection은 외부 반복을 사용하는데 명시적으로 컬렉션 항목을 하나씩 가져와 처리해야 하기 때문에 최적화에 불리하다. 내부 반복 Stream에서 내부 반복을 사용하는데 병렬 처리를 하면서 최적화된 순서로 처리하기 때문에 최적화에 유리하다. Stream 연산.. 2023. 3. 30.
Annotation Annotation 개념 의미 자바 소스코드에 추가하여 사용할 수 있는 일종의 메타 데이터 @ 기호를 붙여 사용 jdk 1.5 이상에서 사용 가능 클래스 파일에 임베디드되어 컴파일러에 의해 생성된 후 자바 가상머신에 포함되어 작동 종류 표준 어노테이션 @Override 오버라이딩할 때 사용 @Deprecated 사용하지 않을 것을 권장 @FunctionalInterface 함수형 인터페이스에 사용 @SuppressWarnings 컴파일러의 경고를 표시하지 않을 때 사용 메타 어노테이션 어노테이션에 대한 정보를 제공하는 어노테이션 @Target 적용 대상 지정 @Retention 유지 기간 SOURCE, RUNTIME 등 @Documented javadoc 문서에 포함하기 위한 어노테이션 @Inherite.. 2023. 3. 28.