반응형

 


메서드 오버라이딩

- 자손 클래스에서 부모 클래스의 기존 메서드 이름, 전달인자의 자료형과

전달인자의 개수, 반환타입을 동일하게 정의한다. 부모클래스로 부터

상속받은 메서드 내용을 자식 클래스에 맞게 변경하는 것을 오버라이딩이라 한다.

 

public void parentPrn() {
System.out.println("서브 클래스 : ParentPrn 메서드");
}
public void childPrn() {
System.out.println("서브 클래스 : ChildPrn 메서드");
}
}

=> 메서드 오버라이딩

 

Child c = new Child(); => 서브클래스로 객체를 생성

c.parentPrn(); => 오버라이딩된 서브 클래스의 메서드 호출

c.childPrn(); => 서브클래스 자기 자신의 메서드 호출

Parent p = new Parent(); => 슈퍼 클래스로 객체를 생성

p.parentPrn(); => 슈퍼 클래스(자기 자신)의 메서드 호출


상속에서의 생성자

1. 생성자는 상속되지 않는 유일한 멤버변수이다.

2. 서브 클래스의 인스턴스가 생성될 때 자신의 생성자가 호출

되면서 슈퍼 클래스의 생생저가 연속적으로 자동으로 호출된다.

3. 슈퍼 클래스 생성자가 먼저 실행되고 서브 클래스의 생성자가 실행된다.

 

반응형

'Programming Language > JAVA' 카테고리의 다른 글

JAVA 상속  (0) 2020.04.21
JAVA #40  (0) 2020.03.31
JAVA #39  (0) 2020.03.31
JAVA #38  (0) 2020.03.31
JAVA #37  (0) 2020.03.31
반응형


this(100, 200); 

=> 같은 클래스내에 오버로딩 된 생성자 호출

 

public Mt12(int a, int b) {

this.a = a;
this.b = b;
}

=> 전달인자 개수를 다르게 한 생성자 오버로딩

반응형

'Programming Language > JAVA' 카테고리의 다른 글

JAVA 상속  (0) 2020.04.21
JAVA #40  (0) 2020.03.31
JAVA #38  (0) 2020.03.31
JAVA #37  (0) 2020.03.31
JAVA #36  (0) 2020.03.30
반응형


int a;

int b;

=> 멤버변수

 

Number09(int new_a, int new_b) {
a = new_a; b = new_b;
}

=> 생성자가 오버로딩 되면 매개변수가 없는 기본생성자를 자바 컴파일러가 묵시적 제공을 하지 않는다.

 

 // new Number09();

=> 기본 생성자를 호출하려다가 컴파일 에러

 

Number09 n09 = new Number09(100, 200);

=> 오버로딩 된 생성자를 호출

반응형

'Programming Language > JAVA' 카테고리의 다른 글

JAVA #38  (0) 2020.03.31
JAVA #37  (0) 2020.03.31
JAVA #35  (0) 2020.03.30
JAVA #34  (0) 2020.03.30
JAVA #33  (0) 2020.03.30
반응형

 


생성자 특징 )

- 생성자는 클래스명과 같다. 매개변수가 없는 생성자를 기본생성자라고 한다.

- 생성자옆 앞에 반환타입이 없다

- 생성자는 NEW 클래스명(); 에 의해서 호출된다

- 생성자의 주된 기능은 멤버변수 초기화 이다.

 

void p() {

=> void는 반환타입이 없다.

=> 사용자 정의 메서드

 

반응형

'Programming Language > JAVA' 카테고리의 다른 글

JAVA #36  (0) 2020.03.30
JAVA #35  (0) 2020.03.30
JAVA #33  (0) 2020.03.30
JAVA #32  (0) 2020.03.30
JAVA #31  (0) 2020.03.30
반응형


String name;

int age;

=> 2개의 클래스 소속 멤버변수 선언

 

public Animal() {
name = "호랑이";
age = 10;

}

=> 클래스명과 같은 생성자

=> 생성자의 주된기능은 멤버변수 초기화

 

public void p() {
System.out.println("동물이름 : " + name + ", 나이 : " + age);

=> p() 메서드 => 메서드는 어떤 기능/동작을 하게 된다.

 

Animal a;

=> a는 객체주소가 저장안된 참조변수

 

a = new Animal();

=> new Animal(); 에 의해서 생성자를 호출해 멤버변수를 초기화 한다.

=> new 연산키워드로 객체주소가 저장된 참조변수 a를 생성. 여기서 a를 객체라 부른다.

 

a.p()

=> 객체명.p() 메서드 호출

반응형

'Programming Language > JAVA' 카테고리의 다른 글

JAVA #31  (0) 2020.03.30
JAVA #30  (0) 2020.03.30
JAVA #28  (0) 2020.03.30
JAVA #27  (0) 2020.03.30
JAVA #26  (0) 2020.03.30

+ Recent posts