제네릭

서지우·2023년 7월 14일
0

JAVA

목록 보기
25/28

제네릭이란?

- 컴파일시 타입을 체그해 주는 기능
- 객체의 타입 안정성을 높이고 형변환의 번거로움을 줄여줌

제네릭 장점
1. 타입 안정성을 제공한다.
2. 타입체크와 형변환을 생략할 수 있으므로 코드가 간결해진다.


제네릭 클래스 선언

- 클래스를 작성할 때, Object타입 대신 T와 같은 타입변수를 사용

- 참조변수, 생성자에 T대신 실제 타입을 지정하면 형변환 생략가능


실습 - ch12 / S01.java

주석으로 설명...

package ch12;

// 제네릭
class Num <T extends Number> {
    // 필드가 정수일수도 있고 실수일수도 있을 경우
    T value;

    public Num(T value){
        this.value = value;
    }
    
}

public class S01 {
    public static void main(String[] args) {
        // Num num = new Num<Integer>(1);
        Num num = new Num<>(1.0);
    }
}

실습 - ch00 / Study10.java

주석으로 설명...

package ch00;

import java.util.Optional;

public class Study10 {
    public static void main(String[] args) {
        
        String str = null;

        // null 값이 들어올 수 있는 변수는 null처리를 해주는 것이 좋다
        if (str == null) {
            System.out.println("데이터가 null입니다."); //데이터가 null입니다.
        } else {
            System.out.println(str.length());
        }

        // null값이 들어올 수 있는 변수를 컨트롤 할때 사용
        // null처리를 강제할 수 있다.
        Optional<String> optionalStr = Optional.of("안녕하세요");

        if(optionalStr.isEmpty()) {
            System.out.println("데이터가 null입니다.");
        } else {
            System.out.println(optionalStr.get().length()); //5
        }

        System.out.println(optionalStr.orElse("값이 없습니다.")); //안녕하세요
    }
}
profile
미래가 기대되는 풀스택개발자 공부 이야기~~

0개의 댓글