변수(Variable)
- 하나의 값을 저장하기 위한 메모리 공간
a. 숫자로 시작할 수 없음
b. _ 와 & 외 특수 문자는 사용할 수 없다.
c. Java 키워드는 사용할 수 없다.
d. 초기화를 하지 않아도 더미 값이 들어간다. (실제 들어가는 값 = Literal)
자료형(Data Type)
a. 기본형 (1byte = 8bit = 2^8)
- boolean
- 정수형: int, short, long (4byte, 2byte, 8byte)
- 실수형: float, double (4byte, 8byte)
- char (2byte)
b. 참조형
- Class
- Interface
- Array
- etc
형변환(Type Conversion)
- 기본 자료형 간 변형
a. 묵시 형변환 (자동)
- 변환하려는 범위가 더 큰 경우
b. 명시 형변환(수동)
- Type Cast 를 통해 범위가 작은 자료형으로 형변환
연산자(Operator)
a. 산술 연산자: +, -, *, /, %
b. 대입 연산자: =. ?=(= 앞에 다른 연산자를 추가)
c. 증감 연산자: ++, --
d. 비교 연산자: <, >, <=, >=, ==, !=
e. 논리 연산자: &&, ||, !
f. 비트 연산자: ~, &, |, ^(xor), <<, >>, >>>
g. 3항 연산자: a > b ? c : d;
h. instanceof: 인스턴스가 오른쪽 객체의 Class 혹은 Interface 를 상속 받았는지
조건문
a. if
b. else
c. 3항 연산식
d. switch case
반복문
a. while
b. do while
c. for
- for(초기; 조건; 증감)
- for(type variable : object) (실제 객체가 아닌 Copy)
- name : for() (continue, break 시 parameter 로 해당 반복문 명시 종료 가능)
제어자(Modifier)
- Class, Method, Variable 에 대한 제어 권한을 나타내는 구분자
a. static : 클래스가 메모리에 로드 될 경우 같이 생성, 클래스 내 모든 인스턴스에서 공통으로 사용 가능
b. final: Class 상속 불가, Variable 변경 불가, Method Overriding 불가능(C의 constant)
c. abstract: 추상 Class 선언 시 사용, 인스턴스 생성 불가
+ 접근 제어자
| Name | Same Class | Same Package | Child Class | else |
| public | O | O | O | O |
| protected | O | O | O | X |
| (default) | O | O | X | X |
| private | O | X | X | X |
Generic
- Class 의 데이터 타입을 사용자가 직접 명시하는 것
ex) ClassName<E>
중괄호에 들어가는 내용은 무엇이 들어가도 관계없으나 아래의 암묵적인 규칙을 따름
| <T> | Type |
| <E> | Element |
| <K> | Key |
| <V> | Value |
| <N> | Number |
ClassName<? extends ClassName> 으로 제약을 걸 수 있음
Overloading&Overriding
Overloading: Original Method 와 ReturnType or Parameter 가 달라야함
Overriding: 상위 클래스의 Method 상속 받음, 완벽히 동일하지만 기능은 재정의됨
Class&Interface
Class: Object 를 정의하는 틀
- Object 의 상태를 나타내는 Field(=Variable)
- Object 의 Action 을 나타내는 Method
- Class 내부에서 Field 와 Method 의 접근, 제어 등을 정의
Interface: Object 를 지정하는 틀
- 지정된 Field(public, static, final)
- 지정된 Method(public, abstract)
- 지정된 Method 를 상속받는 Class 는 반드시 Overriding 되어야함
상속(Inheritance)
- 하위 객체(자식)가 상위 객체(부모)의 특징을 물려받는 것.
- 부모 객체의 인스턴스는 자식 객체로 생성가능(다형)
a. extends(확장)
- 자식이 부모의 속성을 상속 받기 위해 사용
- 같은 Class 혹은 Interface 끼리 사용가능
- 부모 객체는 오직 1개
b. implements(구현)
- Class 가 Interface 의 지정 객체들을 사용하기 위해 상속
- Class 와 Interface 사이만 사용가능
- 다중 상속 가능
'프로그래밍 언어 > Java' 카테고리의 다른 글
| 예외처리(Exception) (0) | 2023.02.21 |
|---|---|
| Java 실행, 동작 그리고 JVM, JRE, JDK, JIT (0) | 2023.02.17 |
| 객체 지향 프로그래밍, 절차 지향 프로그래밍 (0) | 2023.01.12 |