1. 날짜와 시간 1.1 Calendar와 Date Date: 날짜와 시간을 다룰 목적으로 JDK 1.0부터 제공된 클래스. Calendar: Date클래스를 보완하기 위해 JDK 1.1부터 제공된 클래스. Calendar와 GregorianCalendar Calendar는 추상클래스이기 때문에 직접 객체를 생성할 수 없고 메서드를 통해서 완전히 구현된 클래스의 인스턴스를 얻어야 한다. Calendar cal = new Calendar(); // 에러 Calendar cal = Calendar.getInstance(); // 이게 맏다. getInstance()메서드는 Calendar클래스를 구현한 클래스의 인스턴스를 반환한다. Calendar를 상속받아 완전히 구현한 클래스로는 GregorianCale..
1. java.lnag패키지 1.1 Object클래스 Object클래스는 멤버변수는 없고 오직 11개의 메서드만 가지고 있다. Object클래스의 메서드 설명 protected Object clone() 객체 자신의 복사본을 반환한다. public boolean equals(Object obj) 호출한 객체 자신과 obj가 같은 객체라면 true, 아니면 false protected void finalize() 객체가 소멸될 때 가비지 컬렉터에 의해 자동으로 호출된다. 이 때 수행되어야하는 코드가 있을 때 오버라이딩한다.(거의 사용안함) public Class getClass() 객체 자신의 클래스 정보를 담고 있는 Class 인스턴스를 반환한다. public int hashCode() 객체 자신의 해시..
1. 예외처리(exception handling) 1.1 프로그램 오류 프로그램 에러 = 오류: 프로그램이 실행 중 어떤 원인에 의해서 오작동을 하거나 비정상적으로 종료되는 경우를 초래하는 원인. 발생 시점에 따른 에러의 종류 컴파일 에러(compile-time error): 컴파일 시 발생하는 에러 런타임 에러(runtime error): 실행 시 발생하는 에러 논리적 에러: 실행은 되지만 의도와 다르게 동작하는 것 수습 가능한 수준에 따른 에러의 종류 1. 에러: 메모리 부족(OutOfMemoryError)이나 스택오버플로우(StackOverflowError)와 같이 일단 발생하면 복구할 수 없는 오류 2. 예외: 발생하더라도 수습 가능한 오류 1.2 예외 클래스의 계층구조 자바에서는 오류를 Erro..
1. 상속(inheritance) 상속 : 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 상속의 장점 1. 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있다. 2. 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 매우 용이하다. → 코드의 재사용성을 높이고 코드의 중복을 제거해 프로그램의 생산성과 유지보수에 크게 기여한다. 상속을 구현할 때는 새로 작성하고자 하는 클래스의 이름 뒤에 상속받고자 하는 클래스의 이름을 키워드 extends와 함께 써주면 된다 class Child extends Parent { } 이 두 클래스를 상속관계에 있다고 하며 상속해주는 클래스(Parent)를 조상/부모/상위/기반 클래스라 하고, 상속 받는 클래스(Child)를 자손/자식/하위/파..
1. 객체지향언어 1.1 객체지향언어의 역사 객체지향이론의 기본 개념 : 실제 세계는 사물(객체)로 이루어져 있으며, 발생하는 모든 사건들은 사물간의 상호작용이다. 1.2 객체지향언어 객체지향언어 : 기존의 절차적 프로그래밍 언어에 몇 가지 새로운 규칙을 추가한 보다 발전된 형태의 것이다. 이런 규칙들을 이용해 코드 간에 서로 관계를 맺어 프로그램을 구성하는 것이 가능해졌다. 객체지향언어의 특징 코드의 재사용성이 높다 코드의 관리가 용이하다 신뢰성이 높은 프로그래밍을 가능하게 한다 객체지향개념을 학습할 떄 재사용성과 유지보수, 중복된 코드의 제거. 이 세 가지 관점에서 보면 보다 쉽게 이해할 수 있다. 2. 클래스와 객체 2.1 클래스와 객체의 정의와 용도 클래스 : 객체지향적 관점으로, 객체를 정의해놓..
⚠️ 유튜브 정리 1. 배열 배열: 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 배열 선언: 배열을 다루기 위한 참조변수의 선언 // 선언 방법 두가지 타입[] 배열이름; 타입 배열이름[]; // 예시 int[] score; // int 타입의 배열을 다루기 위한 참조변수 score 선언 score = new int [5] // int 타입의 값 5개(길이: 5)를 저장할 수 있는 배열 생성 int[] score = new int[5]; // 위 코드를 한줄로 합침 배열의 인덱스: 각 요소에 자동으로 붙는 번호. 인덱스의 범위는 0부터 배열길이-1까지. 배열의 길이: 배열이름.length int[] arr = new int[5]; int tmp = arr.length; // tmp는 5 배열은 한..
⚠️ 유튜브 정리 1. 조건문 - if, switch 조건문: 조건을 만족할 때만 {}(블록)을 수행(0~1번) if (score > 60) { System.out.println("합격입니다."); System.out.println("축하드립니다."); } 반복문: 조건을 만족하는 동안 {}을 수행(0~n번) int i = 10; while (i-- >0 ) { System.out.println(i); } 이 둘을 합쳐 제어문이라고 한다. 1.1 if문 조건식이 참(true)일 때, {}안의 문장을 수행한다.조건식에는 true이거나 false인 문장을 사용해야한다. if (조건식) { // 조건식이 참(true)일 때 수행될 문장들을 적는다. } 블럭{}: 여러 문장을 하나로 묶어주는 것 if (조건식)..
1. 연산자(Operator) 1.1 연산자(operator)와 피연산자(operand) 연산자(operator): 연산을 수행하는 기호(+, -, *, / 등) 피연산자(operand): 연산자가 연산을 수행할 대상(변수, 상수, 리터럴, 수식) 연산자는 피연산자로 연산을 수행하고 나면 항상 결과값을 반환한다. 1.2 식(式)과 대입연산자 식(式, expression): 연산자와 피연산자를 조합하여 계산하고자하는 바를 표현한 것 그리고 식을 계산하여 결과를 얻는 것을 식을 평가한다라고 함. 즉, 하나의 식을 평가(계산)하면 하나의 결과를 얻는다. 1.3 연산자의 종류 종류 연산자 설명 산술 연산자 +, -, *, /, %, 사칙 연산(+, -, *, /)과 나머지 연산(%) 비교 연산자 >, =, 이항..
1. 변수(variable) 1.1 변수(variable)란? 수학에서 변수(變數): 변하는 수 변수(variable): 단 하나의 값을 저장할 수 있는 메모리상의 공간. 변경될 수 있기 때문에 변수라고 이름 붙여졌음. 하나의 변수에 단 하나의 값만 저장할 수 있으므로, 새로운 값을 저장하면 기존의 값은 사라진다. 1.2 변수의 선언과 초기화 변수의 선언 방법 // 변수타입 변수이름; int age; // age라는 이름의 정수형 변수를 선언 변수타입: 변수에 저장될 값이 어떤 '타입(type)'인지를 지정한다. 자바는 정수형, 실수형, 문자형 등 다양한 타입을 제공한다. 변수이름: 변수에 붙인 이름. 변수는 값을 저장할 수 있는 메모리 공간이므로 변수의 이름은 메모리 공간에 이름을 붙여주는 것. 그 이..
1. 자바(Java Programming Language) 1.1 자바란? 1.2 자바의 역사 1.3 자바언어의 특징 운영체제에 독립적이다. 객체지향언어이다. 비교적 배우기 쉽다. 자동 메모리 관리(Garbage Collection) 네트워크와 분산처리를 지원한다. 멀티쓰레드를 지원한다. 동적 로딩(Dynamic Loading)을 지원한다 1.4 JVM(Java Virtual Machine) JVM(Java Virtual Machine): 자바를 실행하기 위한 가상 컴퓨터(영어권에서는 컴퓨터를 machine이라고도 함) 가상 컴퓨터(virtual machine, virtual computer): 실제 컴퓨터가 아닌 소프트웨어로 구현된 컴퓨터라는 뜻으로 컴퓨터 속의 컴퓨터라고 생각하면 된다 자바로 작성된 ..