본문 바로가기
ONLINE COURSES/Java

인프런 자바기초강의_15,16,17,18,19,20강

by jono 2021. 7. 25.

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)\

: 이름이 없는 클래스로, 주로 메서드를 재정의하는 목적으로 사용된다.

 

 

댓글