- [ 정리/Java ]자바의 정석 142~147강 ch12 지네릭스, 열거형, 애너테이션(2)2023-09-16 02:25:41자바의 정석 기초편(2020최신) ch 12-17~20 열거형 1. 열거형 enum 관련 상수들을 같이 묶어 놓음, java는 타입에 안전한 열거형 제공 열거형은 값과 타입 모두 체크 class Card { enum Kind {CLOVER, HEART, DIAMOND, SPADE} enum Value {TWO, THREE, FOUR} } if(Card.CLOVER == Card.TWO) // false // 0 == 0 인데 왜 false? // 타입이 달라서 비교 불가 Kind == Value라서 false 2. 열거형의 정의와 사용 열거형 인스턴스를 생성해 사용 열거형 상수의 비교에 ==와 compareTo() 사용 가능, 비교연산자는 사용 불가 // 열거형 정의 enum 열거형 이름 { 상수1, 상..
- [ 정리/Java ]자바의 정석 135~141강 ch12 지네릭스, 열거형, 애너테이션(1)2023-09-12 08:57:15자바의 정석 기초편(2020최신) ch 12-1 지네릭스 Generics 란 1. 지네릭스 컴파일시 타입을 체크해 주는 기능 // jdk 1.5 이전 ArrayList list = new ArrayList(); list.add(10); list.add(20); list.add("30"); // String 추가 Integer i = (Integer)list.get(2); // 컴파일 OK /* 실행하면 에러, ClassCastException 발생, 형변환예외 컴파일러의 한계, 꺼낼때 Object라 컴파일에러 안뜨지만 실행시 형변환 에러발생 실행시 에러는 프로그램이 종료되고 컴파일 에러는 실행전에 에러가 뜨기때문에 컴파일 에러가 더 나음 지네릭스를 통해 컴파일 에러로 이끌어냄 */ // jdk 1.5 이..
- [ 정리/Java ]자바의 정석 127~134강 ch11 컬렉션 프레임웍(2)2023-09-10 02:19:42자바의 정석 기초편(2020최신) ch 11-30~33 Comparator와 Comparable 1. Comparator와 Comparable 객체 정렬에 필요한 메서드(정렬기준 제공)를 정의한 인터페이스 Comparator : 기본 정렬기준을 구현할 때 사용 public interface Comparator { int compare(Object o1, Object o2); // o1과 o2 두 객체를 비교, 0 o1=o2 양수 o1>o2, 음수 o1 equlas(), hashCode() 오버라이딩 안함 System.out.println(set); } } // equals(), hashCode() 오버라이딩해야 HashSet 바르게 동작 class Person { String name; int age; ..
- [ 정리/Java ]자바의 정석 119~126강 ch11 컬렉션 프레임웍(1)2023-09-04 23:09:30자바의 정석 기초편(2020최신) ch 11-1~2 컬렉션 프레임웍 1. 컬렉션 여러 객체(데이터)를 모아 놓은 것을 의미 2. 프레임웍 표준화, 정형화된 체계적인 프로그래밍 방식 생산성과 유지보수성이 좋아짐 3. 컬렉션 프레임웍 컬렉션(다수의 객체)을 다루디 위한 표준화된 프로그래밍 방식 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공함(저장, 삭제, 검색, 정렬 등) java.util 패키지에 포함 4. 컬렉션 클래스 다수의 데이터를 저장할 수 있는 클래스(Vector, ArrayList, HashSet) 5. 컬렉션 프레임웍의 핵심 인터페이스 인터페이스 특징 List 순서가 있는 데이터의 집합, 중복 허용 ArrayList, LinkedList, Stack, Vector 등 Set 순서를..
- [ 정리/Java ]자바의 정석 연습문제 ch 9 java.lang 패키지와 유용한 클래스2023-09-03 18:23:16자바의 정석 3판 기초판 연습문제 https://github.com/castello/javajungsuk3 GitHub - castello/javajungsuk3: soure codes and ppt files of javajungsuk 3rd edition soure codes and ppt files of javajungsuk 3rd edition - GitHub - castello/javajungsuk3: soure codes and ppt files of javajungsuk 3rd edition github.com [9-1] 다음과 같은 실행결과를 얻도록 SutdaCard클래스의 equals()를 멤버변수인 num, isKwang의 값을 비교하도록 오버라이딩하고 테스트 하시오. public cl..
- [ 정리/Java ]자바의 정석 연습문제 ch 8 예외처리2023-08-31 20:02:54자바의 정석 3판 기초판 연습문제 https://github.com/castello/javajungsuk3 GitHub - castello/javajungsuk3: soure codes and ppt files of javajungsuk 3rd edition soure codes and ppt files of javajungsuk 3rd edition - GitHub - castello/javajungsuk3: soure codes and ppt files of javajungsuk 3rd edition github.com [8-1] 예외처리의 정의와 목적에 대해서 설명하시오. 정의 : 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드 작성 목적 : 프로그램의 비정상적인 종료를 막고, 정상적인..
- [ 정리/Java ]자바의 정석 연습문제 ch 7 객체지향 프로그래밍(2)2023-08-31 17:59:43자바의 정석 3판 기초판 연습문제 https://github.com/castello/javajungsuk3 GitHub - castello/javajungsuk3: soure codes and ppt files of javajungsuk 3rd edition soure codes and ppt files of javajungsuk 3rd edition - GitHub - castello/javajungsuk3: soure codes and ppt files of javajungsuk 3rd edition github.com [7-1] 섯다카드 20장을 포함하는 섯다카드 한 벌(SutdaDeck클래스)을 정의한 것이다. 섯 다카드 20장을 담는 SutdaCard배열을 초기화하시오. 단, 섯다카드는 1부터 ..
- [ 정리/Java ]자바의 정석 연습문제 ch 6 객체지향 프로그래밍(1)2023-08-31 11:49:54자바의 정석 3판 기초판 연습문제 https://github.com/castello/javajungsuk3 GitHub - castello/javajungsuk3: soure codes and ppt files of javajungsuk 3rd edition soure codes and ppt files of javajungsuk 3rd edition - GitHub - castello/javajungsuk3: soure codes and ppt files of javajungsuk 3rd edition github.com [6-1] 다음과 같은 멤버변수를 갖는 SutdaCard클래스를 정의하시오. 타입 변수명 설명 int num 카드의 숫자(1~10사이의 정수) boolean isKwang 광이면 tr..
- [ 정리/Java ]자바의 정석 연습문제 ch5 배열2023-08-31 07:33:43자바의 정석 3판 기초판 연습문제 https://github.com/castello/javajungsuk3 GitHub - castello/javajungsuk3: soure codes and ppt files of javajungsuk 3rd edition soure codes and ppt files of javajungsuk 3rd edition - GitHub - castello/javajungsuk3: soure codes and ppt files of javajungsuk 3rd edition github.com [5-1] 다음은 배열을 선언하거나 초기화 한 것이다. 잘못된 것을 고르고 그 이유를 설명 하시오. a. int[] arr[]; b. int[] arr = {1,2,3,}; c. in..
- [ 정리/Java ]자바의 정석 연습 문제 ch4 조건문과 반복문2023-08-15 02:01:42자바의 정석 3판 기초판 연습문제 https://github.com/castello/javajungsuk3 GitHub - castello/javajungsuk3: soure codes and ppt files of javajungsuk 3rd edition soure codes and ppt files of javajungsuk 3rd edition - GitHub - castello/javajungsuk3: soure codes and ppt files of javajungsuk 3rd edition github.com [4-1] 다음의 문장들을 조건식으로 표현하라. 1. int형 변수 x가 10보다 크고 20보다 작을 때 true인 조건식 10 < x && x < 20 2. char형 변수 ch가 ..
- [ 정리/Java ]자바의 정석 ch10 날짜와 시간 & 형식화2023-08-13 06:07:05ch 10-1~3 날짜와 시간 Calendar 클래스 1. 날짜와 시간 java.util.Date : 날짜와 시간을 다룰 목적으로 만들어진 클래스 java.util.Calendar : Date클래스를 개선한 새로운 클래스 java.time패키지 : JDK1.8 Date와 Calendar의 단점(날짜와 시간을 같이 다룸 등)을 개선한 새로운 클래스 제공 2. Calendar 클래스 추상 클래스이므로 getInstance()통해 구현된 객체를 얻어야함 // 에러 추상 클래스는 인스턴스를 생성할 수 없음 // Calendar cal = new Calendar(); // getInstance() 메서드를 이용해 Calendar클래스를 구현한 인스턴스 반환 Calendar cal = Calendar.getInst..
- [ 정리/Java ]자바의 정석 109~113강 ch9 java.lang 패키지와 유용한 클래스(2)2023-08-13 02:37:48ch 9-15~18 StringBuffer클래스 1. StringBuffer클래스 문자형 배열 char[] 을 내부적으로 가지고 있음 String과 다르게 내용 변경 가능 mutable append() : 문자열을 추가할 수 있음 2. StringBuffer의 생성자 배열을 이용해 문자열을 다루기 때문에 배열의 길이가 부족하면 새로운 배열을 생성해야 함 → 저장할 문자열 길이를 고려해 생성 크기 미설정시 기본 크기 16 3. StringBuffer의 변경 append() : 지정된 내용 추가 후 StringBuffer 참조 반환 StringBuffer sb = new StringBuffer("abc"); sb.append("123").append("zz"); // append()메서드는 StringBuf..