개발자는신이야
The first step
개발자는신이야
전체 방문자
오늘
어제
  • 분류 전체보기 (114)
    • 🍃웹개발 Spring (15)
    • ❓내 질문 (4)
    • 🔥웹개발종합반 (11)
    • 💻개인프로젝트 (5)
    • 😕error (2)
    • 💡알고리즘 (3)
    • 📖혼자공부하는자바 (22)
    • 📑WIL (2)
    • 🥸 CS 면접 스터디 (13)
    • 🤓천재교육 풀스택 1기 노트 (21)
    • ⏰정처기 공부 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • boot
  • HTML
  • dependencies
  • db
  • CRUD
  • database
  • Lombok
  • style
  • 기초
  • Controller
  • IntelliJ
  • Java
  • JPA
  • jquery
  • repository
  • SQL
  • API
  • Spring
  • 변수
  • CSS

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
개발자는신이야

The first step

천재교육 풀스택 과정 1기 Day13
🤓천재교육 풀스택 1기 노트

천재교육 풀스택 과정 1기 Day13

2023. 5. 26. 17:48

Object: Strin, int, double 등의 타입을 전부 대체 가능

package lecture0526;
public class Generic {
/*private static void printArray(Integer[] intArray) {
for (int i = 0; i < intArray.length; i++) {
System.out.print(intArray[i] + " ");
}
System.out.println();
}

private static void printArray(Double[] dblArray) {
for (int i = 0; i < dblArray.length; i++) {
System.out.print(dblArray[i] + " ");
}
System.out.println();
}
private static void printArray(String[] strArray) {
for (String s : strArray) {
System.out.print(s + " ");
}
System.out.println();
}*/

private static void printArray(Object[] objArray) {
for (Object o : objArray) {
System.out.print(o + " ");
}
System.out.println();
}

public static void main(String[] args) {
Integer[] intArray = {10, 20, 30, 40, 50};
printArray(intArray);

Double[] dblArray = {10.1, 20.2, 30.3, 40.4, 50.5};
printArray(dblArray);

String[] strArray = {"red", "blue", "green", "black", "yellow"};
printArray(strArray);
}
}

하지만 타입 변환에 따른 속도의 차이가 크게 발생함.

 

  • 잘못된 타입을 사용하는 것을 방지하기 위하여 사용
  • 타입 매개변수를 이용하여 코드 작성 시에 구체적인 타입을 적용할 수 있다
  • 장점
    • 컴파일시에 강한 타입 체크가 가능 -> 사전에 에러를 방지할 수 있음
    • 불필요한 타입 변환을 안 할 수 있다 -> 프로그램 성능에 악영향을 줌
    • 데이터 타입 변환을 안할 수 있다
    • 하나의 코드를 시울하여 여러 타입에 재사용
    • casting이 필요한 곳에 별도의 형변환을 하지 않아도 자동으로 넣어준다
    • 제네릭은 클래스형이 아니라 캐스팅의 표시일 뿐이다.
    • JDK 1.5 이후부터 도입된 개념이다.
    • 임시적인 자료형을 통하여 구현시에 타입에 자유도를 올리며, 객체로 사용 시에 엄격한 타입을 명시함으로써
    • 더 객체지향적인 코딩을 할 수 있으며, 잘못된 형변환에 의한 실행타임의 오류를 벗어날 수 있다.

InstanceOf: 

  • 객체타입을 확인하는 연산자입니다.
  • 형변환 가능여부를 확인하며 true/false 로 결과를 반환합니다.

 

자료구조의 기본(Set, List, Map)

Set

순서가 없고, 중복할 수 없는 집합 구조

  • HashSet: 속도가 아주 빠름
  • TreeSet: 정

List

꼬리를 물고 일렬로 나열하는 것과 같다. 순서 있고, 중복이 가능한 구조

  • Vector: threadSafe 개념을 도입하여 속도가 느림
  • Stack: :LIFO(후입선출)
    •   StackPointer
  • ArrayList: threadSafe 개념을 도입하지 않아서 속도가 빠름
  • LinkedList: Link(Thread)를 사용하여 node 연결을 사용

Map

키와 값으로 대상을 찾음. 키는 중복될 수 없다.

  • HashMap
  • Tree Map
  • HashTable
  • Properties
  • ...

 

'🤓천재교육 풀스택 1기 노트' 카테고리의 다른 글

천재교육 풀스택 1기 DAY16  (0) 2023.06.01
천재교육 풀스택 과정 1기 Day15  (0) 2023.05.31
천재교육 풀스택 과정 1기 Day12  (0) 2023.05.25
천재교육 풀스택 과정 1기 Day11  (1) 2023.05.24
천재교육 풀스택 과정 1기 Day10  (0) 2023.05.23
    '🤓천재교육 풀스택 1기 노트' 카테고리의 다른 글
    • 천재교육 풀스택 1기 DAY16
    • 천재교육 풀스택 과정 1기 Day15
    • 천재교육 풀스택 과정 1기 Day12
    • 천재교육 풀스택 과정 1기 Day11
    개발자는신이야
    개발자는신이야
    첫발을 내디딘 초보 개발자입니다.

    티스토리툴바