공부하는 다락방

열혈강의 Java프로그래밍 Round 9 본문

Java

열혈강의 Java프로그래밍 Round 9

권파인 2014. 12. 9. 15:55

# 클래스의 기본구성 형식 :
접근_제한자 지정_예약어 class 클래스
 [extends 상위 클래스 implements 상위 인터페이스]

# 포함 멤버
- Nested Class : 중첩 클래스 (Inner Class)
- Field : 데이터 저장 공간 (멤버필드 : 클래스에 다이렉트로 포함되어있는 필드임.)
- Construct : 객체 생성 및 초기화 Method
- Method : 특정 행위의 기술 영역

# 객체 생성 
    * 객체 : 클래스 덩어리를 사용할 수 있도록 하는 키와 같은 역할
- 클래스명 객체명 = new 생성자(매개변수);
    * new : 동적 메모리 할당 (가비지 컬렉션 힙영역에 할당)

# 연산자 : . (참조 연산)

# 사용
- 객체명.Field or 객체명.Method

# 객체
- Reference 4byte, GC 영역 할당

# 생성자 메서드의 특징
- 클래스명과 동일
- 결과형 리턴값이 없음 (리턴값을 갖게 되면 생성자를 제대로 호출할 수 가 없음.)
- 객체 생성 시 반드시 하나의 생성자 호출 (무조건 생성자를 호출해야 함.)
- 멤버 필드 값 초기화
- 자동 default 생성자 호출 (생성자 없을 때)
- 생성자 오버로딩 (여러개 호출 가능, 하지만 조건이 있음. 매개변수의 개수가 다르거나 자료형이 달라야 함.)
- ★★★ this 와 this() :
멤버필드와 생성자내 지역변수로 같은 변수명을 사용할 때 멤버필드가 지역변수보다 우선순위가 낮음.
그렇기 때문에 멤버필드와 같은 변수라는 것을 확인시켜주기 위하여 this 라는 예약어를 사용

# Garbage Collector의 역할
    * Garbage Collector : jvm 안에 존재 함. 메모리 오버플로우를 방지하기 위해서 존재.
- 더 이상 참조 받지 않는 Garbage Collection 영역의 메모리를 삭제함.
- 어떤 공간이라도 해당 메모리를 참조하면 삭제하지 않음.

# Garbage Collector의 호출
- System.gc() (호출은 거의 의미가 없음.)
- Low memory 상태에서 최하위 Thread로 동작
    * Low memory : 메모리가 가득 찬 상태 그 때 Garbage Collector가 자동으로 호출 됨.

Comments