오버로딩이란? overloading
한 클래스 내에 동일한 이름의 메소드를 여러 개 작성하는 기법
오버로딩 조건 : 같은 메소드 이름, 다른 매개변수의 개수 또는 다른 매개 변수 타입
public class OverloadingTest {
// 오버로딩 : 한 클래스 내 같은 메소드명으로 정의 할 수 있는 방법
public void test() {
}
// public void test() {}
public void test(int a) {
}
public void test(int a, String s) {
}
public void test(String s, int a) {
}
public void test(int a, int b) {
}
// public void test(int c, int d) {}
// 매개변수 명과는 상관없이 자료형의 갯수와 순서가 다르게 작정 되어야 함
public void test(int a, int b, String str) {
// public int test(int a, int b, string str) {}
// 매개변수가 동일하다.
// private void test(int a, int b, String str) {}
/*
* 결론 오버로딩 - 동일한 메소드명, 매개변수 자료형과 갯수, 순서가 다르게 작성되어야 한다. [접근제한자와 반환형은 상관없엉]
*/
}
}
this란?
모든 인스턴스의 메소드에 숨겨진 채 존재하는 레퍼런스로 , 할당된 객체를 가리킴 함수
실행 시 전달되는 객체의 주소를 자동으로 받음
this 사용 예시
public class Academy{
private String name;
public Academy() { }
public Academy(String name ) { this.name = name }
}
위와 같이 매개변수를 가지는 생성자에게 매개변수 명이 필드명과 같은 경우
매개 변수의 변수명이 우선이므로 this 객체를 이용하여 대입되는 변수가 필드라는 것을 구분해줌
this()란?
생성자, 같은 클래스의 다른 생성자를 호출할 때 사용 , 반드시 첫 번째 줄에 선언해야 함
this() 사용 예시
public class Academy{
private int age;
private String name;
public Academy() {this( 20, “ 김철수); }
public Academy(int age, String name) {
this.age = age; this.name = name;
}
}
'자바 한계단' 카테고리의 다른 글
자바 객체배열 복습 (0) | 2021.10.01 |
---|---|
자바 MVC 패턴 (0) | 2021.10.01 |
자바 구성멤버 [메소드] (0) | 2021.09.27 |
자바 생성자 복습 (0) | 2021.09.26 |
필드부 복습 (0) | 2021.09.24 |