Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
Tags
- 데이크스트라
- cs
- 알고리즘
- 스터디2기
- spring boot
- 터미널
- VI
- 맥
- table status
- 인프런
- 티스토리챌린지
- 인프런워밍업클럽
- 오블완
- Less
- 이진탐색
- oh-my-zsh
- mysql 표
- CS스터디
- 동적 프로그래밍 방법
- mycli
- zsh theme
- 오일러 경로
- Pager
- mysql 표 출력
- MySQL
- 분할정복 방법
- 네트워킹데이
- zsh
- 순차탐색
- 욕심쟁이 방법
Archives
- Today
- Total
Develop
Generic(제네릭) 본문
안녕하세요~ .ᐟ
많이쓰는 문법이나, 제가 헷갈리는 문법 위주로 내용을 정의해보려고 합니다.
그 첫번째 순서는 바로 제네릭입니다 하하하
아래처럼 제가 공부하고, 저만의 언어로 내용을 정리해보겠습니다 .ᐟ
Generic(제네릭)
- 정의
- 사전 정의 : 일반적인, 범용적인
- 클래스의 타입 결정을 미루는 것
- 사용 방법
- 클래스 정의 시
- 클래스명 뒤에 <>(다이아몬드)를 쓰고, 그 안에 `타입 매개변수`를 대문자 T, E, K, V, N 로 작성한다.
- 타입 매개변수 관례 : Type, Element, Key, Value, Number
public class GenericBox<T> { private T value; public void set(T value) { this.value = value; } public T get() { return value; } }
- 클래스명 뒤에 <>(다이아몬드)를 쓰고, 그 안에 `타입 매개변수`를 대문자 T, E, K, V, N 로 작성한다.
- 클래스 사용 시
- 사용 할 타입 인자(Integer, String 등) 를 지정하면, 컴파일 시점에 타입 매개변수 T가 `타입 인자`로 변환된다.
- 타입 인자 관례 : 기본형 사용불가 (int, double..), 래퍼 클래스(Integer, Double..) 사용
public class Main { public static void main(String[] args) { // 생성 시점에 타입 매개변수 T의 타입이 Integer 로 결정 됨 GenericBox<Integer> integerBox = new GenericBox<Integer>(); integerBox.set(10); Integer integer = integerBox.get(); // Integer 타입이 반환되어 꺼낼 수 있음 (캐스팅 필요없음) System.out.println("integer = " + integer); } }
- 사용 할 타입 인자(Integer, String 등) 를 지정하면, 컴파일 시점에 타입 매개변수 T가 `타입 인자`로 변환된다.
- 클래스 정의 시
- 장점
- 컴파일 시점에 타입이 결정되어 타입 안정성이 높아지고, 재사용성과 코드 유연성이 증가한다.
오늘도 수고하셨습니다~ .ᐟ
'백엔드 > Java' 카테고리의 다른 글
| Assert (0) | 2025.05.23 |
|---|---|
| Java에서 Kotlin 으로 마이그레이션 (0) | 2025.05.23 |