@@ 오버로딩
한 클래스 내에 동일한 이름의 메소드를 여러개 작성하는 방법
오버로딩 조건
1) 메소드명이 동일해야 함
2) 매개변수가 달라야 함
- 매개변수의 개수
- 다른 자료형
- 매개변수의 순서
* 단, 매개변수명은 오버로딩 성립조건과 관계 없음.
클래스 다이어그램에서 밑줄은 == static을 의미함
@@this
인스턴스의 메소드에 숨겨진 채 존재
할당된 객체를 가르킴(주소)
@this()
같은 클래스의 다른 생성자를 호출할때 사용
반드시 첫줄에 선언
@@메소드에서
(매개변수)넣을경우 복사가 되는데
기본자료형인경우 자료가 복사
외에 참조형인경우 주소가 복사되서 얕은복사모형을띈다
#(07 method())
@return
해당 메소드를 종료하고 값을가지고 자신을 호출한
자리로 돌아가라는 예약어
JVM가 자동으로 생성해주는 것
java.lang, return, default constructor , this, this(), Auto Casting
@@@객체배열@@@
@@@상속@@@
다른 클래스가 가지고 있는 멤버(필드, 메소드)들을 새로 작성할
클래스에서 직접 만들지 않고 상속받음으로써
새클래스가 자신의 멤버처럼 사용할수 있는 기능
@목적
클래스의 재사용 , 공통적인 규약 정의
@장점
1. 코드의 재사용성
2. 코드의 추가 및 변경 용이
3. 코드의 중복을 제거하여 생산성과 유지보수에 크게 기여
@특징
1. 모든 클래스는 object클래스의 후손
2. 부모클래스의 생성자, 초기화블록은 상속 안됨
3. 부모의 private멤버는 직접접근불가
@클래스관계에서는 단일상속만 진행
@super()
부모 객체의 생상자를 호출하는 메소드로
★기본적으로 후손 생성자에 부모 생성자 포함
jvm이 알아서만들어줌
@super.
나의 메모리속 안에 부모의 주소를 가르킴
@오버라이딩 Over Riding (위로 올라타다)
자식 클래스가 상속 받은 부모의 메소드를 재작성 하는 것
@특징
메소드 헤드라인 위에 Annotation, @Overrdie 표시
@성립조건
접근범위가 같거나 더 커야됨
메소드 이름 동일
매개변수의 개수,타입 동일
리턴 타입 동일
★오버라이딩과 오버로딩의 차이★
오버라이딩 | 오버로딩 | |
위치 | 하위클래스 | 같은클래스 |
작성규칙 | 이름,매개변수(개수,타입) 리턴타입이 같아야함 | 메소드이름 동일 나머진 상관없음 |
접근제한자 | 자식메소드의 접근범위가 부모 메소드의범위보다 넓거나 같아야함 | 접근 제한자와 상관없음 |
예외처리 | 자식메소드의 예외수가 부모 메소드의 예외수보다 적거나 범위가 좁아야함 | 예외처리 상관없음 |
@final
1. 필드상수 , 2. 지역변수, 3 final 클래스, 4. final 메소드
final class
상속이 불가능한 클래스
final method
오버라이딩이 불가능한 메소드
'study > java' 카테고리의 다른 글
9_java_프로그래밍 언어활용 1~8 정리 (0) | 2019.11.06 |
---|---|
8_java_다형성,추상클래스와 인터페이스 (0) | 2019.11.05 |
6_Java_가변배열,추상화,필드,생성자 (0) | 2019.11.03 |
5_Java_배열, 버블정렬 (0) | 2019.11.02 |
4_Java_while, 분기문, 배열 (0) | 2019.10.30 |