본문 바로가기

JAVA22

컬렉션 프레임웍 - 컬렉션: 여러 객체를 모아 놓은 것을 의미 - 프레임웍: 표준화, 정형화된 체계적인 프로그래밍 방식 - 컬렉션 프레임웍 컬렉션(다수의 객체)을 다루기 위한 표준화된 프로그래밍 방식 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공 컬렉션 프레임웍의 핵심 인터페이스 - List: 순서가 있는 데이터 집합 데이터 중복허용 (대기자 명단) - Set: 순서를 유지하지 않는 데이터의 집합. 데이터의 중복을 허용하지 않음(네발동물집합) - Map: 키와 값의 쌍으로 이루어진 데이터의 집합. 순서 없음/ 키중복 안됨/ 값중복가능(아이디비밀번호) - List: 벡터, 어레이리스트*, 링크드리스트* - ArrayList: 기존의 벡터를 개선한것 벡터는 동기화 됨 순서유지 중복허용 데이터의 저장공간으로 배열.. 2022. 3. 8.
날짜와 시간 & 형식화 - java.util.Date - java.util.Calendar - java.time패키지 - Calendar클래스 추상 클래스이므로 getInstance()를 통해 구현된 객체를 얻어야한다. Calendar cal = Calendar.getInstance(); 월이 0부터 시작 clear()는 Calendar객체의 모든 필드를 초기화 - 형식화 클래스 DecimalFormat(숫자를 형식문자열 반대도 가능), SimpleDateFormat(날짜와 시간을 다양한 형식으로 출력) 숫자와 날짜를 원하는 형식으로 쉽게 출력 가능 2022. 3. 8.
java.lang패키지와 유용한 클래스 - Object클래스: 모든클래스의 최고 조상. 오직 11개의 메서드만 가지고 있다. - equals(Object obj): 객체 자신(this)과 주어진 객체(obj)를 비교한다. 같으면 true, 다르면 false Object클래스의 equals()는 객체의 주소를 비교(참조변수 값 비교) - hashCode(): 객체의 해시코드를 반환하는 메서드 객체의 주소를 int로 변환해서 반환 equals()를오버라이딩하면, hashCode()도 오버라이딩해야한다 equals()의 결과가 true인 두객체의 해시코드는 같아야 하기 때문* - toString(): 객체를 문자열로 변환하기 위한 메서드 - String 클래스: 데이터(char[])+메서드(문자열 관련) 내용을 변경할 수 없는 불변 클래스 덧셈 연.. 2022. 3. 8.
예외처리 - 프로그램 오류 컴파일에러: 컴파일 할 때 발생하는 에러 실행전 런타임에러: 실행 할 때 발생하는 에러 프로그램 종료 논리적에러: 작성 의도와 다르게 동작 종료 안됨 - 런타임에러 에러: 수습 불가 심각 오류 예외: 수습 가능 미약한 오류 정의: 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드 작성 목적: 프로그램의 비정상 종료를 막고 정상적 실행상태 유지 -Exception클래스: 사용자의 실수와 같은 외적요인 I/O, classnotfound -RuntimeException클래스: 프로그래머의 실수로 발생하는 예외 arithmetic, classcast, nullpointer, indexoutofbounds - try{ }catch(Exception e){ } - Exception가장 .. 2022. 3. 7.
객체지향 프로그래밍2 - 상속: 기존의 클래스로 새로운 클래스를 작성하는 것 두 클래스를 부모와 자식으로 관계를 맺어주는것 class 자식클래스 extends 부모클래스{} 자손은 조상의 모든 멤버를 상속받는다.(생성자, 초기화블럭 제외) 자손의 멤버 개수는 조상보다 적을 수 없다. 자손의 변경은 조상에 영향을 미치지 않는다. - 포함관계: 클래스의 멤버로 참조변수를 선언하는 것(객체 생성) 작은 단위의 클래스를 만들고, 이 들을 조합해서 클래스를 만든다. - 관계결정 상속 ~은 ~이다. 포함 ~은 ~을 가지고 있다. (대부분) - 자바는 단일 상속만 허용한다. - 비중이 높은 클래스 하나만 상속관계로, 나머지는 포함관계로 한다. - Object클래스 모든 클래스의 조상 - 오버라이딩: 상속받은 조상의 메서드를 자신에 맞게 .. 2022. 3. 6.
객체지향 프로그래밍 - 객체지향 언어: 코드의 재사용성 높고 유지보수 용이, 중복코드 제거 -캡슐화, 상속, 추상화, 다형성 (캡상추다) - 클래스(설계도): 객체를 정의해 놓은것 , 용도 객체를 생성하는데 사용 - 객체(제품): 실제 존재하는 것, 용도 객체가 가지고 있는 기능과 속성에 따라 다름 속성(변수)+기능(메서드) - 객체: 모든 인스턴스를 대표하는 일반적 용어 - 인스턴스: 특정 클래스로부터 생성된 객체(tv인스턴스) 클래스->인스턴스(객체) -클래스 객체생성위해 필요 -객체 사용위해 객체 필요 -객체를 사용: 객체가 가진 속성(변수)과 기능(메서드)을 사용하는 것 - 하나의 소스파일에 여러 클래스 작성시 주의: public 클래스의 이름과 소스파일의 이름 일치! 1. 클래스 작성 2. 객체 생성 Tv t= n.. 2022. 3. 5.
배열 - 배열: 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 int[] score = new int[5]; - 배열의 선언: 배열을 다루기 위한 참조변수의 선언 참조변수 배열 인덱스 - 배열길이: 배열이름.length 한번 생성하면 그 길이를 바꿀 수 없다. - 배열 자동 초기화 int=0 - int[] score = {50,60,70,80}; - 배열의 출력 Arrays.toString(배열이름) - string 배열: 참조형 기본값null - 2차원 배열: 테이블 형태의 데이터를 저장하기 위한 배열 int[][] score =new int[4][3]; 4행 3열 int[][] arr = { {1,2,3,}, {4,5,6} }; - String클래스는 내용을 변경할 수 없다. - 출력 1차원Array.. 2022. 3. 4.
조건문과 반복문 - 조건문: 조건이 참일때 {}를 수행 if(score>60){ System.out.println("합격") } -if-else: 조건식이 참일때와 거짓일때 나눠서 처리 if(input==0) { System.out.println("입력하신 숫자는 0입니다."); } else { // input!=0인 경우 System.out.println("입력하신 숫자는 0이 아닙니다."); } - if- else if: 여러 개 중의 하나 여러개의 조건식을 포함 if (score >= 90) { // score가 90점 보다 같거나 크면 A학점 grade = 'A'; } else if (score >=80) { // score가 80점 보다 같거나 크면 B학점 grade = 'B'; } else if (score .. 2022. 3. 4.