본문 바로가기

프로그래밍/Java

(15)
[Java 요약 정리] 7. 열거형(Enums) 7. 열거형(Enums)1) 특징- 관련 상수들을 묶어놓은 것- 열거형 상수 비교에 == 혹은 compareTo() 사용 가능(기타 비교연산자 사용 불가)- 비교시 상수값이 같아도 열거형 타입이 다르면 false 반환 2) 목적- 안정성 향상: 객체 범위 제한- 소스 가독성 향상: 상수의 사용 목적 및 해석 용이 3) 사용- enum 열거형이름 {상수1(값), 상수2(값)....} // 값 미입력시 0부터 순차 입력- Class getDelcaringClass(): 열거형 클래스 객체 반환 4) 메소드- String name(): 열거형 상수명 문자열로 반환- int ordinal(): 열거형 상수가 정의된 순서 반환(0부터 시작)- T valueOf(Class enumType, String name):..
[Java 요약 정리] 6. 지네릭스(Generics) 6. 지네릭스(Generics)- 컴파일시 타입을 체크해주는 기능(JDK 1.5)- 목적: 안정성 향상(객체 타입 제한), 편의성 향상(형변환 불필요) 1) 특징- 클래스 작성시 Object 타입 대신 T와 같은 타입변수 사용(T: 타입변수명 예시)- 참조변수, 생성자에 타입변수 대신 실제 타입을 지정하면 형변환 생략 가능- static멤버에는 타입 변수 사용 불가(타입변수는 인스턴스 변수로 간주)- 지네릭 타입 배열 (ex. T[]) 생성 불가 2) 용어- Box(예시): 지네릭 클래스(T Box 혹은 T의 Box)- T: 타입 문자/ 타입 변수, 타입 매개변수- Box: 원시 타입(raw type) 3) 지네릭 클래스와 메소드- 클래스: Class 클래스명{}- 메소드: static void 메소드명..
[Java 요약 정리] 5. 컬렉션 프레임워크(Collections Framework) 5. 컬렉션 프레임워크(Collections Framework)- 컬렉션: 여러 객체(데이터)를 모아놓은 것을 의미- 프레임워크: 표준화 정형화된 체계적인 프로그래밍 방식- 컬렉션 프레임워크: 컬렉션을 다루기 위한 표준화된 프로그래밍 방식(java.util 패키지에 포함)- 컬렉션 클래스: 다수의 데이터를 저장할 수 있는 클래스 1) 컬렉션 프레임워크의 핵심 인터페이스- List: 순서가 있는 데이터의 집합(중복 허용)*ArrayList, LinkedList, Stack, Vector 등- Set: 순서를 유지하지 않는 데이터의 집합(중복 불허)*HashSet, TreeSet 등- Map: 키와 값의 쌍으로 이루어진 데이터의 집합(키 중복 허용, 값 중복 불허, 순서미유지)*HashMap, TreeMap..
[Java 요약 정리] 4. 날짜와 시간 1. 날짜와 시간1) Calendar와 date- java.util.Date: 날짜와 시간을 다룰 목적(JDK1.0)- java.util.Calendar: Date 클래스를 개선할 목적(JDK1.1)- java.time: Date와 Calendar를 개선할 목적(JDK1.8) 2) Calendar- 추상 클래스이므로 인스턴스는 getInstance()를 통해 생성- 양식: Calendar cal = Calendar.getInstance(); int thisYear = cal.get(Calendar.YEAR); // 연도clear(); 클리어 // set(); 셋팅 3) 기타- DecimalFormat: 숫자를 다양한 패턴으로 출력(특정 문자열에서 반대로 도출 가능)- SimpleDateFormat: 날짜..
[Java 요약 정리] 3. java.lang 패키지 1. java.lang 패키지 1) Object클래스의 메소드- 총 11개의 메소드를 가지고 있다.- protected Object clone(): 객체 자신의 복사본 반환- public boolean equals(Object obj): 객체 자신과 obj가 같은 객체인지 반환- public Class getClass(): 객체 자신의 클래스 정보를 담고있는 Class 인스턴스 반환- public int hashCode(): 객체 자신의 해시코드 반환- public String toString(): 객체 자신의 정보를 문자열로 반환 * getClass()- 자신이 속한 클래스의 Class객체를 반환하는 메소드(클래스 파일의 정보 반환)- Class객체는 클래스의 모든 정보를 담고있으며, 클래스당 단 1개..
[Java 요약 정리] 2. 예외 처리(Exception handling) 1. 예외처리(Exception handling)1) 프로그램 오류- 컴파일 에러: 컴파일시 에러가 발생하는 경우*컴파일러의 역할: 번역, 구문 체크, 최적화- 런타임 에러: 실행 시 에러가 발생하는 경우- 논리적 에러: 실행에 문제는 없으나 부정확한 동작을 하는 경우 2) 에러와 예외- 에러: 프로그램 코드에 의해서 수습될 수 없는 심각한 오류- 예외: 프로그램 코드에 의해 수습 될 수 있는 미약한 오류- checked, unchecked: 컴파일러 check 유무- Unchecked: RuntimeException클래스들 -> 프로그래머 실수(예외처리 선택)- Checked: Exception클래스들 -> 사용자 실수 등 외적 요인(예외처리 필수) 3) TDD- 테스트 주도 개발(Test-driven..
[Java 요약 정리] 1. 객체지향 프로그래밍(OOP) 0. 객체지향 프로그래밍(OOP)1) 객체지향프로그래밍 (Object-Oriented Programming)-단순히 데이터와 처리 방법으로 나누는 것이 아닌 수 많은 ‘객체’라는 기본 단위로 나누고 객체들의 상호작용으로 서술하는 방식 2) 특징- 캡슐화- 상속- 추상화- 다형성1. 객체와 인스턴스1) 객체- 사물 또는 개념을 의미- 클래스: 객체를 만들기 위한 틀- 변수: 객체의 속성- 메소드: 객체의 기능 2) 인스턴스- 클래스 내 각각의 객체를 의미- 클래스는 인스턴스들의 집합 / 인스턴스 변수는 인스턴스의 속성- new 연산자에 의해 참조변수 선언 시 Heap에 인스턴스 생성 2. 변수의 분류1) 멤버변수(cv, iv)- 클래스 내에 선언된 변수- 클래스 변수와 인스턴스 변수로 구분- 변수값 자동 ..