[Java] Return, Overloading, Overriding

da_weuny·2021년 8월 9일
0

Java

목록 보기
5/12
post-thumbnail

👉 Return문

현재 실행중인 메서드를 종료하고 호출한 메서드로 되돌아감.

⭐ 반환값이 무조건 있어야함.

❓ 반환값이 없어도 컴파일 되던데?

❕ void 타입에서 컴파일러가 자동으로 추가해줘서 그럼.

반환값이 void 타입이 아니면 return문 없을 때 컴파일 오류남.


👉 오버로딩

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

⭐ 조건

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

✔ 매개변수와 개수 또는 타입이 달라야 한다.

✔ 반환 타입은 관계없다.


👉 생성자

인스턴스가 생성될 때 호출되는 ‘인스턴스 초기화 메서드’

✔ 리턴값이 없음.

✔ 근데 Void 사용하지 않음.

✔ 모든 클래스는 반드시 생성자 가져야함.


생성자 특징

✔ 생성자의 이름은 클래스의 이름과 같아야 함.

✔ ⭐ 생성자는 리턴 값 없음.


👉 객체 자신을 가리키는 참조변수 – this

인스턴스 자신을 가리키는 참조변수

인스턴스 메서드 (생성자 포함)에서 생성가능

지역변수와 인스턴스 변수 구분할 때 사용

변수의 초기화

멤버변수(클래스 변수와 인스턴스 변수)와 배열의 초기화는 선택이지만, 지역변수의 초기화는 필수이다.


👉 메서드 오버라이딩

덮어쓴다는 의미

메서드 재정의

조상 클래스로부터 상속받은 메서드의 내용을 변경하는 것

조건

접근 제어자는 조상 클래스의 메서드보다 좁은 범위로 변경할 수 없다.

✔ 조상 클래스의 메서드보다 많은 수의 예외를 선언할 수 없다.

✔ 선언부가 조상 클래스의 메서드와 일치해야 한다.

✔ 반환타입, 메서드이름, 매개변수 목록


👉 오버로딩 vs 오버라이딩??

🌝 오버로딩(overloadin)

기존에 없는 새로운 메서드 정의(new의 개념)

🌝 오버라이딩(overriding)

상속받은 메서드의 내용을 변경하는 것(change,modify)의 의미

⭐ 재정의라고 생각하면 쉬움.

profile
매일매일 최선을 다하는 개발자

0개의 댓글