상속( inheritance ) 기존의 클래스를 재사용하여 새로운 클래스를 작성한 것. - 구현 방법 클래스의 이름 뒤에 상속받고자 하는 클래스의 이름을 키워드 'extends'와 함 께 작성. ( ex. class Child extends Parents ) class Child extends Parent { } class Parent{} - 특징 생성자와 초기화 블록은 상속되지 않는다. 멤버만 상속된다. 자손 클래스의 멤버 개수는 조상 클래스보다 항상 같거나 많다. 조상 클래스는 자손 클래스의 공통적인 부분을 가지고 있어 각 클래스의 코드가 적어져서 관리가 용이함. 클래스간의 관계 - 포함관계 (composite) 한 클래스의 멤버변수로 다른 클래스 타입의 참조변수를 선언하는 것을 뜻함. - 선언방법 ..
배열 여러 개의 변수를 한번에 선언하게 하는 것. 같은 타입의 변수만 가능함. - 선언 타입[] 변수이름; int[] score; String[] name; - 길이 변수이름 = new 타입[길이]; int[] score; score = new int[5]; // 배열의 길이가 5인 배열을 생성 생성된 변수는 0으로 초기화 되어 진다. - 인덱스 - 배열이름.length 배열 길이를 넘는 것을 사용하면 Error가 일어남 그로므로 반복문에는 배열이름.length를 사용하는게 좋음. - 배열 초기화 연산자에 이미 타입[] 식을 넣으면 피연산에 있는 new int[] 생략 가능 int[] score = new int[] {50,60,70,80,90}; int[] score = {50,60,70,80,90};..
조건문 - if문 조건식이 참이면 중괄호{} 안의 문장들을 수행한다. if (scroe > 60){ System.out.println("합격!"); } {} 블록이라고 표현함. block내 문장이 하나라면 {} 생략가능함. if (scroe > 60) System.out.println("합격!"); - if ~ else 문 true가 아니면 해당 값을 출력 else block이 추가 되었다고 표현함. if (scroe > 60) System.out.println("합격!"); else System.out.println("불합격!"); - if ~else if 문 else if 문이 참일 경우 {} 블록의 값을 출력 if (scroe > 60) System.out.println("합격!"); else if..
연산자(operator) - 연산자, 피연산자 연산자 : + , - 같은 피연산자 사이에 있는 것들을 말한다. 피연산자 : 변수, 상수, 리터럴, 수식 - ' = ' 대입연산자 변수에 값을 대입하거나 주소를 참조하게 하는 식으로 사용함. - 연산자 우선순위 and 가 or 보다 우선순위이다. 산술 > 비교 > 논리 > 대입 순으로 우선순위가 높다. -단항 연산자 ++ 증감 연산자, -- 감소 연산자 이다. int num = 5; num ++; // 6 num --; // 5 - 부호 연산자 음수와 양수를 나눌 때 사용하는 연산자이다. - 사칙연산 int에서 사칙연산하면은 소수점들은 반올림이 되지 않고 사라지고 정수값만 나타난다. int num = 3.1452; // num = 3 - 나머지 연산자 % 앞..
변수 단 하나의 값을 저장할 수 있는 공간. 새로운 값을 다시 대입하면 기존값은 사라짐. - 선언 int age; - 초기화 변수를 사용전에 처음 값으로 저장하는 것. - 명명규칙 대소문자 구분되면 길이에 제한이 없다. 예약어를 사용을 하면 안된다. 숫자로 시작하면 안된다. 특수문자 '_' , '$" 사용을 허용한다. 변수 타입 - 기본형과 참조형 기본형 : 실제 data값을 저장 참조형 : 데이터의 주소값을 저장 ( 주소는 1byte 단위의 일련번호이다) 참조변수는 기본형이 아닌 모든 변수를 말한다. 클래스이름 변수이름; // 클래스타입 참조변수 선언 방식 기본형 기본형의 종류 논리형 boolean 문자형 char 정수형 int, short, long, byte 실수형 flat, double float..
스트림(Stream) 다양한 데이터 소스를 표준화된 방법으로 다루기 위한 것 스트림이 제공하는 기능 - 중간 연산과 최종 연산 중간 연산 - 연산결과가 스트림이 연산. 반복적으로 적용가능 최종 연산 - 연산결과가 스트림이 아닌 연산. 단 한번만 적용가능 (스트림 요소를 소모) 스트림의 특징 스트림은 데이터 소스로부터 데이터를 읽기만할 뿐 변경하지 않는다. 스트림은 Iterator처럼 일회용이다. (필요하면 다시 스트림을 생성해야 함) 최종 연산 전까지 중간연산이 수행되지 않는다. - 지연된 연산 스트림은 작업을 내부 반복으로 처리한다. 스트림의 작업을 병렬로 처리 - 병렬스트림 기본형 스트림 - IntStream, LongStream, DoubleStream 오토박싱 & 언박싱의 비효율이 제거됨 (Str..