2022-05-18 데일리 회고 15일차

Sung-min Seo·2022년 5월 18일
0

⭐ 오늘의 학습 내용 📌

1. 제네릭 (Generic)

🥕 제네릭

    제네릭은 공통점을 가진 그룹이나 모임이지만, 그 특징이 명확하지 않은 것을 뜻한다. 자바에서는 클래스나 변수에 타입을 확실하게 정하지 않고 넘어가는 것을 뜻한다. 이렇게 되면 컴파일 단계에서 잘못된 타입이 들어와 에러를 발생시키는 것을 방지 할수있다. 또한 지정되는 타입이 나중에 결정되기 때문에 관리하기가 매우 편해진다는 장점이 있다.

1. 제네릭 클래스

Syntax:

public class GenericName <>{ //접근제어자 + class + 클래스명 + 다이아몬드 연산자
	System.out.println("제네릭 클래스 입니다.")
}
    접근제어자와 클래스명 그리고 다이아몬드 연산자 "< >" 사이에 타입 매개변수를 명시해준다. 타입 파라미터 명은 무엇이든 넣어도 상관은 없지만, 아래 표에서 명시한대로 사용하기로 암묵적인 합의가 이루어져 있다고 한다.
    보통 객체를 만들때 타입은 반드시 명시되어야한다. 제네릭의 경우도 나중에 타입이 명시되어야 하는데 이때 명시되어야 하는 타입은 참조 타입만 명시가 가능하다. 그래서 원시타입(Primitive Type)은 사용이 불가능하고 랩퍼타입(Wrapper Type)을 사용해 주어야한다.

2. 제네릭 메서드

Syntax:

접근제어자 + <제네릭 타입> + 반환 타입 + 메서드명 + (제네릭타입 + 파라미터){}

public <T> T genericMethod(T s){
	return s;
}
    클래스와는 다르게 이번에는 다이아몬드 연산자가 접근제어자 바로 뒤에 오게 된다. 제네릭 메서드의 경우 제네릭 클래스 안에서 선언이 된 경우 클래스에 명시된 타입을 따르지 않고 메서드 내에서 선언한 타입을 따로 사용할수 있다.

2. 컬렉션 프레임워크

🥕 컬렉션 프레임워크란

    자바에서 컬렉션이란 데이터의 집합, 그룹을 의미하며 이러한 자료들을 효율적으로 관리할수 있는 여러 자료 구조들을 클래스로 정리하여 모아둔 것을 컬렉션이라고 한다. 컬렉션 프레임 워크란 이러한 컬렉션들을 자바 프로그램 내에서 체계적으로 관리할수있는 인터페이스를 뜻한다.
    자바에서 컬렉션 프레임워크는 보통 List, Set Map이 있으며 이중 List 와 Set은 자료구조상 공통되는 부분이 많아 컬렉션으로 묶여 있는 것이고 Map은 Key와 Value를 가지는 독특한 형태이기에 따로 나누어져 있다.

🥕 List

    ArrayList, LinkedList, Vector등을 포함하며 해당되는 값들이 순차적으로 정렬된다. 인덱스 값을 기반으로 값들이 나뉘게 되고 데이터의 중복을 허용한다.

🥕 Set

    HashSet, TreeSet을 포함하며 해당되는 값들이 순차적으로 정렬되지 않는다. 순서또한 저장되지 않으며 데이터의 값이 중복되지 않는다.

🥕 Map

    위의 두 컬렉션들과는 다르게 Key와 Value로 값이 나누어져 있으며 보통 Key 값을 매개로 Value 값을 찾아오는 방식을 가지고 있다. Key 값을 중심으로 하기 때문에 순서가 없으며 Key 값은 중복되지 않지만, Value 값은 중복이 가능하다.

참조한 사이트 :
자바 제네릭의 이해
Generic Type Document

Collections Framework Overview
컬랙션 프레임워크 개념
Collection Framework image

⭐ 오늘의 소감

오늘 하루 너무 방대한 양의 정보를 배워 머리가 다 아플 지경이다. 지금 상태로 이것을 다 정리하는 것은 무리인 것 같다. 대략적인 감은 잡았지만, 실질적으로 쓰는 것은 한참 뒤의 일일것 같다. 나중에 시간을 더 내서 제네릭과 컬렉션 프레임워크에 관한 정보를 더 써 나가야 할 것 같다.

profile
매일 문제 3개 이상 풀기!!

0개의 댓글