[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
반응형