15강. 생성자, 소멸자, this
15-1. 디폴트 생성자
15-2. 사용자 정의 생성자
객체 GC에 의해서 메모리에서 제거될 때 finalize()메서드가 호출된다.
15-3. 소멸자
15-4. this
: 현재 객체를 가리킴
16강. 패키지와 static
16-1. 패키지
: 수많은 클래스를 폴더 형식으로 관리하는 것.
# 패키지 이름 결정 요령
-- 패키지 이름은 패키지에 속해있는 클래스가 최대한 다른 클래스와 중복되는 것을 방지하도록 만든다.
-- 패키지 이름은 일반적으로 도메인을 거꾸로 이용한다,
-- 개발 중에 패키지의 이름과 구조는 변경될 수 있다.클래스도 이동 가능함.
-- 패키지 이름만 보고도 해당 패키지 안에 있는 클래스가 어떤 속성과 기능을 가지고 있는 예상이 될 수 있도록 이름을 만든다.
16-2. import
16-3. static
: 클래스의 속성과 메서드에 static 키워드를 사용하면, 어디서나 속성과 메서드를 공유할 수 있다.
-> 모든 객체가 static으로 선언된 속성을 공유한다.
17강. 데이터은닉
17-1. 멤버변수의 private설정
멤보 변수(속성)은 주로 private로 설정해서 외부로부터 데이터가 변질되는 것을 막는것이 좋다.
17-2. setter, getter
: private으로 설정했던 멤버변수를 외부에서 변경할 수 있도록 하는 메서드.
=> 외부에서 접근해서 변경하는 것을 방지할 수 있는 장치이다.
우클릭 -> Source -> generate getter, setter
18강. 상속
18-1. 상속이란?
: 부모 클래스를 상속받은 자식 클래스는, 부모 클래스의 속성과 기능도 이용할 수 있다.
18-2. 상속의 필요성
18-3. 상속 구현
extend키워드를 이용해서 상속을 구현한다.
//부모클래스 생성하기
package project001;
public Class ParentClass {
public ParentClass(){
System.out.prinltln("ParentClass constructor");
}
public void parentFunc(){
System.out.println("-- parentFunc() START --");
}
}
//자식클래스 만들어서 상속시키기
package project001;
public Class ChildClass extends ParentClass {
public ChildClass(){
System.out.println("ChildClass constructor");
}
public void childFunc(){
System.out.println("-- childFunc() START --");
}
}
//메인클래스
ChildClass child01 = new ChildClass();
*** 차일드클래스를 생성하면, 부모클래스가 먼저 자동적으로 생성되어 출력된다.
18-4. 부모클래스의 private접근자
: 자식 클래스는 부모 클래스의 모든 자원을 사용할 수 있지만, private접근자의 속성과 메서드는 사용할 수 없다.
19강. 상속의 특징
19-1. 메서드 오버라이드(override)
: 부모 클래스의 기능을 자식 클래스에서 재정의해서 사용하는것.
@Override <- annotation 명시할것.
19-2. 자료형(타입)
: 기본 자료형처럼, 클래스도 자료형이다.
ParentClass Childs[] = new ParentClass[2];
Childs[0] = new FirstChildClass();
Childs[1] = new SecondChildClass();
for(int i=0; i<Childs.length;i++) {
Childs[i].makeCurry();
}
- 클래스도 마찬가지로 배열로 설정할 수 있다.
19-3. Object 클래스
: 모든 클래스의 최상위 클래스는 Object클래이스이다.
19-4. super 클래스
: 상위 클래스를 호출할 때 super 키워드를 이용한다.
System.out.println("Child's Open Year: " + this.openYear);
System.out.println("Parent's Open Year: " + super.openYear);
20강. 내부 클래스와 익명 클래스
20-1. 내부클래스 (inner class)
: 클래스 안에 또 다른 클래스를 선언하는 것.
-> 두 클래스의 멤버에 쉽게 접근할 수 있다.
20-2. 익명클래스 (anonymous class)\
: 이름이 없는 클래스로, 주로 메서드를 재정의하는 목적으로 사용된다.
'ONLINE COURSES > Java' 카테고리의 다른 글
인프런 자바기초강의_List, Map, 예외처리, 입출력, (0) | 2021.08.15 |
---|---|
인프런 자바기초강의_인터페이스, 추상클래스, 람다식 (0) | 2021.07.30 |
인프런 자바기초강의_9,10,11,12,13강 (0) | 2021.07.17 |
인프런 자바기초강의_5,6,7,8강 (0) | 2021.07.15 |
댓글