👉 Return문
현재 실행중인 메서드를 종료하고 호출한 메서드로 되돌아감.
⭐ 반환값이 무조건 있어야함.
❓ 반환값이 없어도 컴파일 되던데?
❕ void 타입에서 컴파일러가 자동으로 추가해줘서 그럼.
반환값이 void 타입이 아니면 return문 없을 때 컴파일 오류남.
👉 오버로딩
한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것
⭐ 조건
✔ 메서드 이름이 같아야 한다.
✔ 매개변수와 개수 또는 타입이 달라야 한다.
✔ 반환 타입은 관계없다.
👉 생성자
인스턴스가 생성될 때 호출되는 ‘인스턴스 초기화 메서드’
✔ 리턴값이 없음.
✔ 근데 Void 사용하지 않음.
✔ 모든 클래스는 반드시 생성자 가져야함.
생성자 특징
✔ 생성자의 이름은 클래스의 이름과 같아야 함.
✔ ⭐ 생성자는 리턴 값 없음.
👉 객체 자신을 가리키는 참조변수 – this
인스턴스 자신을 가리키는 참조변수
인스턴스 메서드 (생성자 포함)에서 생성가능
지역변수와 인스턴스 변수 구분할 때 사용
변수의 초기화
멤버변수(클래스 변수와 인스턴스 변수)와 배열의 초기화는 선택이지만, 지역변수의 초기화는 필수이다.
👉 메서드 오버라이딩
덮어쓴다는 의미
메서드 재정의
조상 클래스로부터 상속받은 메서드의 내용을 변경하는 것
조건
접근 제어자는 조상 클래스의 메서드보다 좁은 범위로 변경할 수 없다.
✔ 조상 클래스의 메서드보다 많은 수의 예외를 선언할 수 없다.
✔ 선언부가 조상 클래스의 메서드와 일치해야 한다.
✔ 반환타입, 메서드이름, 매개변수 목록
👉 오버로딩 vs 오버라이딩??
🌝 오버로딩(overloadin)
기존에 없는 새로운 메서드 정의(new의 개념)
🌝 오버라이딩(overriding)
상속받은 메서드의 내용을 변경하는 것(change,modify)의 의미
⭐ 재정의라고 생각하면 쉬움.