일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 시즌1
- 중첩쿼리
- 서울복층에어비앤비
- 멀티쓰레드프로그래밍
- Eclipse
- 사용자변경
- Codewars
- CentOS
- 8kyu
- class파일바로보기
- CentOS8
- SQL
- https
- 주민번호마스킹
- VMware
- 7kyu
- Linux
- 이것이리눅스다
- 서울에어비앤비
- Oralce
- Python
- 6kyu
- 이클립스
- 파이썬
- java
- monthPicker
- JavaScript
- 남산타워뷰
- 오류
- 자바기초스터디
- Today
- Total
목록Study (13)
보통사람
목표 자바의 제네릭에 대해 학습하세요. 학습할 것 (필수) 제네릭 사용법 제네릭 주요 개념 (바운디드 타입, 와일드 카드) 제네릭 메소드 만들기 Erasure 0. 제네릭(Generics) 어떤 타입이든 한 가지 타입으로 담을 수 있음 클래스나 메소드에서 컴파일시 타입 체크를 해주는 기능을 함 장점 타입 안전성을 제공 타입 체크와 형변환을 생략 할 수 있으므로 코드가 간결해짐 다른 타입의 객체로 저장되는 것을 방지하며 원래의 타입과 다른 타입으로 형변환 되어 발생 할 수 있는 오류를 줄여줌 1. 제네릭 사용법 선언하는 방법 public class MyGenerics { // T : 타입변수 T name; public void setName(T name) { this.name = name; } public..
목표 자바의 Input과 Ontput에 대해 학습하세요. 학습할 것(필수) 스트림 (Stream) / 버퍼 (Buffer) / 채널 (Channel) 기반의 I/O InputStream과 OutputStream Byte와 Character 스트림 표준 스트림 (System.in, System.out, System.err) 파일 읽고 쓰기 1. 스트림(Stream) / 버퍼(Buffer) / 채널 (Channel) 기반의 I/O 1.1. 스트림(Stream) 기반의 I/O 단방향통신만 가능함 따라서 입력과 출력을 동시에 하려면 입력스트림, 출력스트림이 필요함 Queue 구조처럼 먼저 보낸 데이터를 먼저 받게됨(FIFO) java.io 패키지에서 사용함 1.2. 버퍼(Buffer) 기반의 I/O 실제 데이터..
목표 자바의 어노테이션에 대해 학습하세요. 학습할 것 (필수) 어노테이션 정의하는 방법 @retention @target @documented 어노테이션 프로세서 1. 어노테이션(Annotation) 소스 코드 안에 추가하여 사용 할 수 있는 메타데이터의 일종 주석처럼 프로그램에는 영향을 주지 않으며 프로그램에 유용한 정보를 제공할 수 있음 용도 컴파일시 어노테이션을 사용하여 오류 및 경고를 알려 줄 수 있음 어노테이션 정보를 이용하여 코드, XML 파일 등을 생성할 수 있음 정의하는 방법 @interface 키워드를 이용 접근제어자 @interface 어노테이션명 { // 내용 기입 } public @interface MyAnnotation { // 내용 기입 } 어노테이션의 기본 구조 import j..
목표 자바의 열거형에 대해 학습하세요. 학습할 것 (필수) enum 정의하는 방법 enum이 제공하는 메소드 (values()와 valueOf()) java.lang.Enum EnumSet 0. Enum 변수가 상수 집합이 되도록 하는 특수한 데이터 유형으로 고정된 상수 집합인 경우에 사용함 상수값이 바뀌면 해당 상수를 참조하는 모든 소스를 다시 컴파일해야 하지만 열거형 상수를 이용하면 기존의 소스를 다시 컴파일하지 않아도 됨 값뿐만 아니라 타입까지 체크함(typesafe enum) System.out.println( Season.FALL == Season.SPRING ); System.out.println( Season.FALL == Season.FALL ); [실행결과] false true 1. En..
목표 자바의 예외 처리에 대해 학습하세요. 학습할 것 (필수) 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) 자바가 제공하는 예외 계층 구조 Exception과 Error의 차이는? RuntimeException과 RE가 아닌 것의 차이는? 커스텀한 예외 만드는 방법 0. 오류 정의 : 프로그램이 오작동하거나 비정상적으로 종료되는 것을 의미 종류 컴파일 에러 : 컴파일 시 발생하는 에러 런타임 에러 : 런타임(실행)시 발생하는 에러 논리적 에러 : 프로그램이 실행은 되나 의도와 다르게 동작하는 것 1. Exception과 Error 공통점 : 런타임시 발생함 차이점 Exception : 소스코드로 예방할 수 있음 Error : 소스코드로도 예방 할 수 없음 2..
목표 자바의 인터페이스에 대해 학습하세요. 학습할 것 (필수) 인터페이스 정의하는 방법 인터페이스 구현하는 방법 인터페이스 레퍼런스를 통해 구현체를 사용하는 방법 인터페이스 상속 인터페이스의 기본 메소드 (Default Method), 자바 8 인터페이스의 static 메소드, 자바 8 인터페이스의 private 메소드, 자바 9 1. 인터페이스를 정의하는 방법 interface 키워드를 이용 접근 제어자로 public 또는 default만 가능함 추상 메소드와 상수만을 멤버로 가질 수 있음 모든 멤버 변수는 public static final 이어야 하며 생략할 수 있음 default 메소드와 static 메소드를 제외한 모든 메소드는 public abstract 이어야 하며 생략할 수 있음 defau..
목표 자바의 패키지에 대해 학습하세요. 학습할 것 (필수) package 키워드 import 키워드 클래스 패스 CLASSPATH 환경변수 -classpath 옵션 접근 지시자 1. package문 클래스의 묶음 또는 물리적으로 하나의 디렉터리를 의미함 서로 관련된 있는 것을 묶어놓음으로써 효율적으로 관리할 수 있으며 클래스 풀네임(FQCN)의 고유성을 보장하기 위해서 사용함 FQCN(Fully Qualified Class Name) : 클래스가 속한 패키지명까지 모두 포함한 이름을 의미(패키지명.클래스명) 점(.)을 구분자로 하여 계층구조로 구성되어 있음 모든 클래스는 반드시 하나의 패키지에 속해야 함 패키지를 선언하지 않으면 자바에서 기본적으로 제공하는 이름 없는 패키지(unnamed package)..
목표 자바의 상속에 대해 학습하세요. 학습할 것 (필수) 자바 상속의 특징 super 키워드 메소드 오버 라이딩 다이나믹 메소드 디스패치 (Dynamic Method Dispatch) 추상 클래스 final 키워드 Object 클래스 1. 상속(Inheritance) 다른 클래스(상위클래스)의 멤버 변수와 메소드를 물려받는 것을 의미함 상속을 이용하면 적은 양의 코드로 새로운 클래스를 만들 수 있으며 코드의 재사용을 높일 수 있음 extends 키워드를 이용해서 상속할 클래스명을 명시함 자바 상속의 특징 Object 클래스를 제외하고는 모든 클래스는 하나의 상위클래스만 상속받을 수 있으며 이를 단일 상속(Single Inheritance) 이라고 함 상속을 선언하지 않아도 자동적으로 최상위 클래스인 Ob..