반응형
ch6-30 오버로딩
오버로딩 : 한 클래스 안에 같은 이름의 메서드 여러 개 정의하는 것
파적
하나의 메서드 이름에 1:다 로 매칭이 가능한 것
그것이 overloading!
overloading의 대표적인 예는 println() 이다.
매개변수가 다를 수도 있고, 출력하는 타입이 다를 수도 있는 것.... ?
오버로딩을 지원하지 않는 경우 이름을 다 다르게 해야 하는 번거로움이 있다.
반환 타입은 오버로딩에 영향이 없다.
보기3의 경우ambigious 한 경우가 발생할 수 있다.
add(3, 3) 하게 되면 컴파일러가 어떤 메서드를 호출해야 하는지 모르기 때문에 에러가 뜬다.
따라서 이 경우에는 add(3, 3L) 과 같이 타입을 명확하게 해주어야 한다.
메서드는 작업을 수행하는 것이기 때문에 일반적으로 "동사"의 단어를 이용한다.
정확한 명칭은 (메서드) 오버로딩이다.
C++에는 연산자 오버로딩이 있다.
자바에는 자동으로 연산자 오버로딩이 있다.
+ 의 역할이 3가지가 있는 것
반응형
'자바의정석' 카테고리의 다른 글
[자바의 정석 - 기초편] ch6-36,37 생성자 this(), 참조변수 this (0) | 2022.03.10 |
---|---|
[자바의 정석 - 기초편] ch6-32~35 생성자, 기본 생성자 (0) | 2022.03.10 |
[자바의 정석 - 기초편] ch6-26~29 static메서드와 인스턴스 메서드 (0) | 2022.03.10 |
[자바의 정석 - 기초편] ch6-24,25 참조형 매개변수, 참조형 반환타입 (0) | 2022.03.08 |
[자바의 정석 - 기초편] ch6-23 기본형 매개변수 (0) | 2022.03.08 |