• 티스토리 홈
  • 프로필사진
    imaginaring
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
imaginaring
  • 프로필사진
    imaginaring
    • 분류 전체보기 (66)
      • 프로그래밍 (30)
        • 알고리즘 자료구조 (0)
        • 문제풀이 (0)
        • 기록 (3)
        • Java (4)
        • 스프링, JPA, MyBatis (11)
        • JS, 리액트 등 웹 프론트 (11)
        • 파이썬 (1)
      • DB (1)
        • MySQL (1)
      • 네트워크 (6)
        • AWS (2)
        • NCP (0)
        • 클라우드 공통 (2)
        • 네트워크 (2)
      • OS (9)
        • 리눅스 (8)
        • 윈도우 (1)
      • 게임엔진 (4)
        • 유니티 (0)
        • 언리얼 (4)
        • 그래픽스 (0)
      • 프로젝트 관리 (0)
        • Git & SVN (0)
      • 사이드 프로젝트 (0)
        • 외주 (0)
        • 아이디어 (0)
        • 기록 (0)
      • 프로젝트 (0)
      • 자격증 (15)
        • 리눅스마스터 (14)
        • SQLD (1)
        • 정보처리기사 (0)
        • 네트워크관리사 (0)
        • CCNA (0)
        • AWS SAA (0)
        • NCP (0)
      • 생활수학 (0)
      • 일상 (1)
        • 여행 (0)
        • 바이크 (0)
        • 기타 (1)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • 제네릭 클래스
        2024년 12월 16일
        • imaginaring
        • 작성자
        • 2024.12.16.:52

        C계열에서의 Template 개념

        // 기본 사용법
        
        class 클래스이름<T> {
            private T data;
        
            public T getData() {
                return data;
            }
        
            public void setData(T data) {
                this.data = data;
            }
        }

         

        장점

         

        • 타입 안정성
          • 컴파일 시점에 타입을 검사하므로 런타임 에러를 방지
          • 잘못된 타입을 사용하면 컴파일 오류 발생
        • 코드 재사용성
          • 하나의 클래스나 메서드를 다양한 타입으로 사용 가능
          • 제네릭을 사용하면 명시적인 타입 캐스팅을 하지 않아도 됨
        Box<String> stringBox = new Box<>();
        stringBox.setItem("Hello");
        String value = stringBox.getItem(); // 타입 캐스팅 불필요

         

         

        타입 제한
        와일드카드 제네릭
        ? 기호를 사용해타입의 범위를 지정

        <? extends T>	// T와 T의 자손 타입만 가능
        <? super T>	// T와 T의 부모(조상) 타입만 가능
        <?>		// 모든 타입 가능. <? extends Object>랑 같은 의미

         

         

         

        '프로그래밍 > Java' 카테고리의 다른 글

        자바에서의 예외처리 (Exception Handling)  (0) 2024.12.16
        자바 기초적인 내용들  (0) 2024.12.16
        웹 애플리케이션 계층 구조  (1) 2024.12.16
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바