yunyj99
라둥이
yunyj99
GitHub
전체 방문자
오늘
어제
  • 분류 전체보기 (309)
    • 1. 프로그래밍 (50)
      • 1-1. Git (17)
      • 1-2. Java (13)
      • 1-2-1. Java GUI (1)
      • 오류 (12)
      • 기타 (7)
    • 2. Front-end (57)
      • 2-1. HTML (5)
      • 2-2. CSS (19)
      • 2-3. Java Script (33)
      • 2-4. React (0)
    • 3. Back-end (47)
      • 3-1. Spring MVC - 국비 (15)
      • 3-2. Spring MVC - 남궁성 (30)
      • 3-3. Spring - 김영한 (2)
    • 4. Android (1)
    • 5. DB (20)
      • 4-1. MySQL DBMS (20)
    • 6. 자료구조 & 알고리즘 (44)
      • 6-1. 자료구조 (14)
      • 6-2. 백준 (30)
    • 7. 웹 디자인 (7)
      • 7-1. UX 디자인 (7)
    • 8. 자격증 (35)
      • 8-1. 정보처리기사 (35)
    • 프로젝트 (3)
      • 프로젝트 기록 (3)
    • etc... (43)
      • 패스트캠퍼스 챌린지 (39)
      • 잡담 (4)

블로그 메뉴

  • 홈
  • 태그

최근 글

티스토리

hELLO · Designed By 정상우.
yunyj99

라둥이

쓰기
Java & SpringBoot로 시작하는 웹프로그래밍 : 자바 인강 - Ch.6
etc.../패스트캠퍼스 챌린지

Java & SpringBoot로 시작하는 웹프로그래밍 : 자바 인강 - Ch.6

2021. 12. 19. 19:15

 

제네릭 자료형이란 클래스에서 사용하는 변수의 자료형이 여러개 일수 있고, 그 기능(메서드)은 동일한 경우 클래스의 자료형을 특정하지 않고 추후 해당 클래스를 사용할 때 지정 할 수 있도록 선언하는 것 이다.

제네릭 클래스 구현해보기

 

자료형 매개변수 T(type parameter)는 이 클래스를 사용하는 시점에 실제 사용할 자료형을 지정할 수 있다. <>는 다이아몬드 연산자라고 하며,다이아몬드 연산자 내부에서 자료형은 생략이 가능하다.

 

제네릭 메서드란 자료형 매개변수를 메서드의 매개변수나 반환 값으로 가지는 메서드로 자료형 매개 변수가 하나 이상인 경우도 있다. 제네릭 클래스가 아니어도 내부에 제네릭 메서드는 구현하여 사용 할 수 있다.

 


자바에서 제공되는 자료구조 구현 클래스들로 컬레션 프레임워크가 있다. 프로그램 구현에 필요한 자료구조(Data Structure)를 구현해 놓은 JDK 라이브러리로 java.util 패키지에 구현되어 있다. 이를 이용해 개발에 소요되는 시간을 절약하면서 최적화 된 알고리즘을 사용할 수 있다!

 

우선 Collection 인터페이스는 하나의 객체를 관리하기 위한 메서드가 선언된 인터페이스로 하위에 List와 Set 인터페이스가 있다.

List 인터페이스는 객체를 순서에 따라 저장하고 관리하는데 필요한 메서드가 선언된 인터페이스로 자료구조 리스트 (배열, 연결리스트)의 구현을 위한 인터페이스이다. (ArrayList, Vector, LinkedList, Stack, Queue 등)

Set 인터페이스는 순서와 관계없이 중복을 허용하지 않고 유일한 값을 관리하는데 필요한 메서드가 선언되어있고 아이디, 주민번호, 사번등을 관리하는데 유용하다. (HashSet, TreeSet 등)

Map 인터페이스는 쌍(pair)으로 이루어진 객체를 관리하는데 사용하는 메서드들이 선언된 인터페이스로, 객체는 key-value의 쌍으로 이루어지며 key는 중복을 허용하지 않는다. (HashTable, HashMap, Properties, TreeMap 등)


'etc... > 패스트캠퍼스 챌린지' 카테고리의 다른 글

Java & SpringBoot로 시작하는 웹프로그래밍 : 자바 인강 - Ch.8  (0) 2022.01.04
Java & SpringBoot로 시작하는 웹프로그래밍 : 자바 인강 - Ch.7  (0) 2021.12.28
Java & SpringBoot로 시작하는 웹프로그래밍 : 자바 인강 - Ch.5  (0) 2021.12.13
Java & SpringBoot로 시작하는 웹프로그래밍 : 자바 인강 - Ch.4  (0) 2021.12.07
패스트캠퍼스 챌린지 최종 후기  (0) 2021.12.07
    'etc.../패스트캠퍼스 챌린지' 카테고리의 다른 글
    • Java & SpringBoot로 시작하는 웹프로그래밍 : 자바 인강 - Ch.8
    • Java & SpringBoot로 시작하는 웹프로그래밍 : 자바 인강 - Ch.7
    • Java & SpringBoot로 시작하는 웹프로그래밍 : 자바 인강 - Ch.5
    • Java & SpringBoot로 시작하는 웹프로그래밍 : 자바 인강 - Ch.4
    yunyj99
    yunyj99
    개발자를 목표로 하는, 새싹처럼 성장하고 싶은 사람의 학습 공간 ^v^

    티스토리툴바