가비지 컬렉터(GC)
- 자바에서 주소를 잃어버려서 사용할 수 없는 메모리 즉, 가비지를 메모리에서 헤제시켜주는 프로그램
자바가상머신(JVM)
- 자바 애플리케이션을 클래스 로더를 통해 읽어 들여 자바 API와 실행 / JAVA와 OS의 중개자 / 스택 기반
객체지향의 특징 추상화,상속성,캡슐화,다형성
-
추상화(Abstraction)
-
공통의 속성이나 기능을 묶어 이름을 붙이는 것(클래스를 정의하는것)
ex) 사자, 물고기, 토끼등을 동물로 묶는것
-
캡슐화(Encapsulation)
-
구현되는 부분을 외부에 드러나지 않도록 캡슐로 감싸는것(변수와 함수를 하나로 묶는것)
-
데이터의 외부 접근을 막아 함수를 통한 접근만 허용=>정보은닉 기술(private)
-
상속성(Inheritance)
-
상위 개념의 특징을 하위 개념이 물려받는것
-
재사용 및 범용성 증가
-
다형성(Polymorphism)
-
부모 클래스의 함수를 자식 클래스에서 오버라이딩 하여 사용 하는것
접근제한자
public : 모든 접근을 허용.
protected : 같은 패키지 및 상속관계 접근 허용
default : 같은 패키지의 객체들의 접근 허용
private : 현재 객체만 접근 허용
데이터 타입
-
기본 데이터형
-
정수형(기본int) : byte(1B) / short(2B) / int(4B) / long(8B) //
-
실수형(기본doouble) : float(4B) / double(8B) //
-
문자형 char(2B) 유니코드 사용 ex) ‘a’
-
문자열 String ex) “string”
-
논리형 boolean값 true / false (논리값)
-
참조 데이터형
-
클래스,배열,인터페이스
오버라이딩과 오버로딩
1) 오버로딩 : 같은 클래스내에서 같은 이름의 메소드 사용 (매개변수의 타입 및 갯수가 다르다)
2) 오버라이딩 : 부모클래스에서 정의한 메소드를 자식클래스에서 재정의 한것
생성자
- 인스턴스를 생성해주는 역할을 하는 특수한 메소드로 클래스의 이름과 동일하다(값 반환x)
this, super
1)this 현재클래스의 인스턴스 / this() 현재 클래스에 정의된 생성자를 부른다.
2)super() 부모 클래스의 생성자를 부른다.
인터페이스
-
상속받을 서브 클래스에게 구현할 메소드들의 원형을 알려주어 클래스의 구현을 돕는다.
-
인터페이스끼리의 상속이 가능
업캐스팅 다운캐스팅
- 자식 인스턴스를 부모의 타입으로(업캐스팅) / 부모 인스턴스를 자식의 타입으로(다운캐스팅)
[다운캐스팅은 업캐스팅된 부모만 가능하다]
예외 클래스
-
ArithmeticsException : 정수를 0으로 나눌때
-
NullPointerException : null 레퍼런스 참조시
-
ClassCastException : 변환할 수 없는 타입으로 캐스팅시
-
OutOfMemoryError : 메모리 부족시
-
ArrayIndexOutOfBoundsException : 배열의 범위를 벗어난 접근시
-
IllegalArgumentException : 잘못된 인자 전달시
-
IOException : 입출력 동작 실패
-
NumberFormatException : 문자열이 나타내는 숫자와 일치하지 않는 타입의 숫자로 변환시
-
InputMismatchException : 입력타입 불일치