- 메모리 관리의 간편성
- 분산 프로그래밍 지원
- 플랫폼 독립적
- 멀티 스레드
- 객체 지향
- 추상화
- 캡슐화
- 다형성
- 상속
- 정수타입 : byte(1byte), short(2byte), int(4byte), long(8byte)
- 부울 타입 : boolean (1byte) //true, false 두가지 값
- 부동소수점 타입 : float (4byte), double(8byte)
- 문자 데이터 타입 ; char (2byte)
- float에는 꼭 F를 표기해야 합니다.
float a = 10.2F
- float에는 꼭 F를 표기해야 합니다.
- 배열 선언 :
int[] arr = {1,2,3};
- 클래스 area : 클래스, static 정보 등
- 스택 : 메소드 수행
- 힙 : 객체 생성
- 힙 영역(클래스 포함)에 생성된 객체들의 메모리를 관리하는 프로그램
- 사용하지 않는 객체들을 점검하고 제거합니다.
- static : class가 메모리 로딩 시 할당이 이루어어지고, 자동 초기화, 클래스 제거시 같이 제거
- instance : 객체 생성 시 자동 초기화, 객체 제거시 같이 제거
- 클래스 내에 정의되는 변수
- 힙에 생성
- 메소드나 생성자 안에서 정의되는 변수
- 호출 시 생성되고, 수행 종료 시 제거
- 선언 시 할당해야 사용 가능
- 스택에 생성
- default : 기본, 같은 클래스, 패키지
- protected : 같은 패키지, 상속
- public : 항상 접근 가능
- private : 같은 클래스
- static : 객체 생성 없이 사용하고 싶을 때
- abstract : 추상화
- final : 상수
- 자식 객체 내에는 항상 부모 객체가 같이 있기 때문에 부모 객체 타입으로 자식 객체를 참조 가능
- 상속관계일 경우 형변환 허용
- 자동 형변환
Parent var = new Child();