컴퓨터과학
[JAVA개념공부]메소드 오버로딩, 접근 지정자
광드
2021. 5. 24. 23:02
728x90
반응형
[자바 기본 개념 학습]
①메소드 오버로딩(Method Overloading)
- 한 클래스 내에서 동일한 이름을 가진 메소드를 사용하더라도 매개 변수의 개수나 타입이 다르면 정의할 수 있다.
ex) 아래 두 클래스는 이름이 같지만 동시에 정의될 수 있다.
public static double add(double a, double b) {
double result = a + b;
System.out.printf("덧셈 : %.1f + %.1f = %.1f \n", a, b, result);
return result;
}
public static double add(double a, double b, double c) {
double result = a + b + c;
System.out.printf("덧셈 : %.1f + %.1f + %.1f = %.1f \n", a, b, c, result);
return result;
}
cf) 오버로딩 된 다른 생성자를 호출하여 중복되는 코드를 생략할 수 있다.
//ex) this(name, null, age)를 통해 setName, setAge메소드를 생략하였다.
public Employee(String name, String dept, int age) {
super();
this.setName(name);
this.setDept(dept);
this.setAge(age);
}
public Employee(String name, int age) {
this(name, null, age)
}
cf) super과 this의 활용
super.name ; 상위 클래스의 ‘name’ 속성을 사용한다.
this.name : 해당 클래스의 ‘name’속성을 사용한다.. 해당 클래스에 없는 속성이라면 상위 클래스의 ‘name’ 속성을 사용.
②접근지정자(Access Modifier)
- 객체를 캡슐화하여 객체에 대한 접근을 관리해야 하는데, 접근 허용 범위에 따라 접근지정자를 두고 있음.
넓 음 <------------------(제한범위)------------------> 좁 음 | ||||
접근지정자 | public | protected | dedfault | private |
제한범위 | 제한 없음 | 동일 패키지 + 상속 받은 클래스 | 동일 패키지 | 동일 클래스 |
728x90
반응형