본문 바로가기
국비 과정/Java

국비 - 0715 ( 생성자 , this , 상속)

by 코딩호야 2022. 7. 15.


생성자

: 생성자는 객체가 만들어 질때 자동으로 호출되는 메서드이고 
일반적인 메서드와 몇가지 차이점 있습니다.

첫째는 생성자는 메서드의 반환 자료형을 표시하지 않습니다.
둘째는 생성자 객체가 생성될때 자동으로 호출됩니다.
셋째는 생성자의 이름은 클래스의 이름과 같습니다.

이러면 생성자의 사용용도는 객체의 초기화 과정을 처리하기 위함입니다.
생성자는 객체가 생성될때 한번만 수행되는 특수한 메서드 입니다.

생성자 호출은 new 키워드가 수행되면서 호출합니다.
만약 클래스를 정의 할때 생성자를 만들지 않으면 객체 생성시 
자바에서 자동으로 생성자를 만들어 줍니다.

- 자동으로 만들어지는 생성자의 모습

클래스면() //메서드의 매개변수와 본문이 전혀 없는 형태
{ } //이러한 생성자를 Default Constructor 라고 합니다
// 결국 사용자가 생성자를 만들지 않아도 자동으로 생성되는 
// 디폴트 생성자가 있기 때문에 모든 클래스는 최소 한개이상 생성자가있다.

- 생성자의 특징 
- 메서드의 이름이 클래스 이름과 동일 합니다.
- 메서드의 반환값이 없습니다.
- 객체를 생성할때 자동으로 호출됩니다.
- 객체를 초기화 하는 용도로 사용됩니다.

- 생성자의 기본형식 

[public / protected / private ] 클래스이름 ( 매개변수 )
{
...; 초기화 문장
...;
}

- new 키워드 
new 키워드는 객체 생성과 관련된 일을 처리합니다.

 1. 객체생성을 위해 메모리 할당합니다.
 2. 할당된 메모리의 시작위치를 객체 참조 변수에 전달합니다.
 3. 생성자를 호출합니다.
 
  new 키워드는 객체 생성과 관련된 모든일을 처리합니다.
 
  MyTv obj = new MyTv ( );

 

 

 

 - this

: 멤버변수에서 사용되는 this 

this 는 현재 사용하고 있는 객체를 지시할때 사용하며 객체가 생성되면서 자동으로

만들어지는 객체 참조형 변수 입니다.

자기자신의 객체를 참조할때 사용하고 클래스의 멤버변수 , 생성자에서 사용할수 있습니다.

 

형식 

 

1 . this  : 객체 자신을 참조하는 레퍼런스

2 . this() : 자신의 생성자 메서드

 

this 와 this( ) 는 객체자신의 멤버를 참조하기 위해 사용한다.

 

- Garbage Collection ( 쓰레기 수집 )

: 프로그램에서 쓰레기는 사용하지 않는 메모리 공간을 의미합니다. 

new 명령어로 객체를 사용하기 위한 메모리를 할당 받은 이후

그공간을 더이상 사용하지않으면 낭비되는 공간이 되고 맙니다.

 

상속
: 상속이란 기존의 클래스를 재사용하여 새로운 클래스를 작성하는것이다.
상속을 통해서 클래스 작성하면 보다 적은양의 코드로 새로운 클래스를 작성할수 있고
코드를 공통적으로 관리 할수 있기 때문에 코드의 추가 및 변경이 매우 용이하다.
이러한 특징은 코드의 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수를 용이하게 한다.

 

상속의 사용 방법
  :  자바에서 클래스를 상속받기 위해 extends 키워드를 사용합니다.
 
  [public / abstract/final ] class 서브클래스 extends 슈퍼클래스
 
    {
      멤버1;
      멤버2;
        ...;
     }

 

 

오버로딩과 오버라이딩

오버로딩

한클래스 안에 같은 이름의 메서드를 여러개 정의하는것

 

성립조건

1.   메서드 이름이 같아야한다.

2.   매개변수 or 타입이 달라야한다.

3.   반환타입은 영향 X

 

오버라이딩

상속받은 조상의 메서드를 자신에 맞게 변경하는것

 

성립조건

1.    선언부가 조상과 일치

2.    접근제어자를 조상클래스보다 좁은 범위로 변경할수 없음.

3.   예외는 조상메서드보다 많이 선언 불가