HRD_훈련/JAVA
[JAVA] 추상 클래스와 인터페이스 실습 (15일차)
리드미.
2023. 6. 5. 19:57
728x90
반응형
<오늘의 학습>
1. 추상 클래스
2. 인터페이스
3. 패키지
4. Object 클래스
5. Wrapper 클래스
6. String 객체
7. Math 클래스
1. 추상클래스
▶ Calculator 코드
public abstract class Calculator {
public abstract int add(int a, int b);
public abstract int subtract(int a, int b);
public abstract double average(int[] a);
}
▶GoodCalc 코드
public class GoodCalc extends Calculator{
@Override
public int add(int a, int b) {
return a+b;
}
@Override
public int subtract(int a, int b) {
return a-b;
}
@Override
public double average(int[] a) {
int sum=0;
for(int num:a)
sum+=num;
return (sum/a.length);
}
}
- 추상클래스는 서브 클래스에서 재정의(오버라이딩) 해야 오류가 나지 않는다.
2. 인터페이스 작성
- 인터페이스 Calc 작성
- 메소드명:Add, Sub, Mul, Div
- 리턴:int
- 매개변수(파라미터):int 값 두 개
- 인터페이스를 상속받는 클래스를 작성하여 출력
▷ 예제
▶ Calc 코드
public interface Calc {
int Add(int a, int b);
int Sub(int a, int b);
int Mul(int a, int b);
int Div(int a, int b);
}
▶ CalcClass 코드
public class CalcClass implements Calc{
@Override
public int Add(int a, int b) {
return a+b;
}
@Override
public int Sub(int a, int b) {
return a-b;
}
@Override
public int Mul(int a, int b) {
return a*b;
}
@Override
public int Div(int a, int b) {
return a/b;
}
}
※ 곱셈과 나눗셈은 0 값에 대한 예외 처리가 필요하다.
ex) try{
}catch (Exception e){
System.out.println("0 값이 입력되었습니다.");
}
▶ main 코드
public interface Calc {
int Add(int a, int b);
int Sub(int a, int b);
int Mul(int a, int b);
int Div(int a, int b);
}
▶ 출력 결과
덧셈:15
뺄셈:5
곱셈:50
나눗셈:2
인터페이스 실습 내용
[JAVA] 인터페이스의 추상 메소드를 구현한 클래스 작성하기
문제 public interface ArrayInterface { //int array[]={3,5,2,4,1}; //배열의 가장 큰 값과 작은 값의 차이 int MaxSubMin(int[] a); //배열의 가장 큰 값을 맨 마지막 값과 위치 바꾸기 void MaxChange(int[] a); } 인터페이스 Ar
deliciouscode.tistory.com
다음 학습
[JAVA] 패키지와 Object 클래스 (15일차)
deliciouscode.tistory.com
728x90
반응형