public 반환자료형 get필드명 (){ return this.필드명 }
public void set필드명 (매개변수){ this.필드명 = 매개변수명; }
접근 제한 => 다른 대상이 참조 할 수 있는가를 판별
필드는 private / 생성자, 커스텀메서드, 클래스는 public
(모르면 필드는 private, 나머지는 public..^^)
ex) protected
필드를 private 수식어로 숨기거나 클래스의 소스를 숨김
기존의 클래스를 다른 클래스가 재활용 (like 슈퍼클래스-서브클래스)
슈퍼클래스를 자료형으로 생성한 변수로 서브클래스의 객체를 참조
기존의 클래스가 존재, 새로운 클래스를 새로 만들 때, 일부 기능은 새롭게 만들어야 하지만, 일부 기능은 기존의 클래스에 만들어져 있는데, 이 경우 새롭게 만드는 클래스에서 기존에 만들어진 클래스를 재활용하는 것
ex)
메인클래스)
슈퍼클래스)
서브클래스)
=>메인클래스)
=>메인클래스)
Main_Display)
package pack_step2;
import java.util.Scanner;
public class Main_Display {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double[] num = new double[3];
System.out.print("값 3개를 입력하세요 : ");
for (int i = 0; i < num.length; i++) {
num[i] = scanner.nextDouble();
}
scanner.close();
Display display = new Display(num);
double[] res = display.mtd();
System.out.println("입력 값은 다음과 같습니다.");
for (int i = 0; i < res.length; i++) {
System.out.print(num[i]);
if (i < res.length - 1) {
System.out.print(", ");
}
}
}
}
Display)
package pack_step2;
public class Display {
private double num[];
public Display(double[] num) {
this.num = num;
}
public double[] mtd() {
return num;
}
}
MaxDisplay)
package pack_step2;
public class MaxDisplay extends Display {
public MaxDisplay(double[] num) {
super(num);
}
public double mtdMax() {
double[] num = super.mtd();
double max = num[0];
for (int i = 0; i < num.length; i++) {
if (max < num[i]) {
max = num[i];
}
}
return max;
}
}
Main_MaxDisplay)
package pack_step2;
import java.util.Scanner;
public class Main_MaxDisplay {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double[] num = new double[3];
System.out.print("값 3개를 입력하세요 : ");
for (int i = 0; i < num.length; i++) {
num[i] = scanner.nextDouble();
}
scanner.close();
MaxDisplay maxDisplay = new MaxDisplay(num);
double[] numArray = maxDisplay.mtd();
System.out.println("입력 값은 다음과 같습니다.");
for (int i = 0; i < numArray.length; i++) {
System.out.print(num[i]);
if (i < numArray.length - 1) {
System.out.print(", ");
}
}
double max = maxDisplay.mtdMax();
System.out.println("\n최댓값 : " + max);
}
}