본문 바로가기
728x90

Study4

[Java Study] 14일차 제네릭(generic) 학습할 것 제네릭 사용법 제네릭 주요 개념 (바운디드 타입, 와일드 카드) 제네릭 메소드 만들기 Erasure Generic 넓게보면 숨쉬듯 생겨나는 버그를 어느정도 방지해주는 역할을 하게 됩니다. 이런 행위가 가능한 이유는 자바를 사용하면서 데이터의 타입 때문에 생기는 버그에 대해 강력하게 방지할 수 있습니다. 이는 미리 받을 데이터의 타입을 확인하기 때문에 가능합니다. 제너릭을 사용하는 이유로 oracle에선 3가지를 공유하고 있습니다. 컴파일 타임에 더욱 강력한 유형 검사 런타임전에 컴파일 단계에서 오류를 발생시켜 런타임에서의 오류를 감소 시킵니다. cast 제거 그동안 타입을 변환할때 casting을 사용했습니다. List list = new ArrayList(); list.add("hello").. 2021. 2. 22.
[Java Study] 13일차 I/O [input/output] 학습할 것 스트림 (Stream) / 버퍼 (Buffer) / 채널 (Channel) 기반의 I/O InputStream과 OutputStream Byte와 Character 스트림 표준 스트림 (System.in, System.out, System.err) 파일 읽고 쓰기 스트림 (Stream) / 버퍼 (Buffer) / 채널 (Channel) 기반의 I/O I/O Stream I/O Stream은 Input source 또는 output 지점을 나타낸다. 또한 Stream은 디스크 파일, 장치, 프로그램, 메모리 등 다양한 소스와, 관련 대상을 나타낼 수 있습니다. Stream은 simple byte, primitive type, objects 등의 다양한 데이터를 지원하며 일부 Stream은 단순.. 2021. 2. 13.
[Java Study] 12일차 Annotation 학습할 것 애노테이션 정의하는 방법 @retention @target @documented 애노테이션 프로세서 Annotations meta data의 일종, 주석과 비슷한 관계로 미리 약속된 규율이 없었다면 컴파일러는 아무행동도 하지 않는 코드로 생각됩니다. Annotation은 Java SE 8 부터 활용되고 있으며 활용법은 다음과 같습니다. 컴파일러에게 정보를 주는 역할 : 컴파일러가 에러나 경고를 탐지하는데 사용될 수 있음 컴파일 시간, 배포 시간처리 : 소프트웨어 툴이 annotation으로 코드를 생성하거나 XML을 생성할 수 있음 런타임 처리 : 몇몇 annotation은 런타임 중에 annotation을 검사하고 활용할 수 있습니다. 애노테이션 정의하는 방법 기본형태 @Entity, @{N.. 2021. 2. 4.
[Java Study] 7일차 package와 import 학습할 것 package 키워드 import 키워드 클래스패스 CLASSPATH 환경변수 -classpath 옵션 접근지시자 package 키워드 클래스들을 구분하는 폴더, 집합의 개념입니다. 클래스에는 맴버 변수와 메소드를 담고 있다면 Package에는 Java 클래스를 담습니다. 클래스를 공부할 때 붕어빵 틀에 비유 했다면 패키지는 붕어빵 가게가 될 수 있을것 같습니다. Packgage 이름을 명명하는 방법은 딱히 정해져 있지 않지만 최소한의 규칙이 있습니다. 숫자로 시작해서는 안되며 , _ . $를 제외한 특수 문자를 사용할 수 없다. java로 시작하는 패키지는 Java 표준 API에 사용하고 있기 때문에 사용할 수 없다 또한 패키지 이름의 시작에 따라 몇 특징이 나뉩니다. java : 자바 기본.. 2020. 12. 31.
728x90