무룩 공부방

[Java02] 27. 인터페이스 (2) (Interface) (Eclipse) 본문

IT/Java02_Intermediate

[Java02] 27. 인터페이스 (2) (Interface) (Eclipse)

moo_look 2023. 10. 8. 12:50

# 추상클래스와 인터페이스의 공통점과 차이점

  • 공통점 : 추상 메서드를 가지고 있다.
  • 차이점
    추상 : 멤버요소 가질 수 있다 <----> 인터페이스 : 없다
    추상 : 멤버변수, 추상 메서드, 인스턴스 메서드를 가질 수 있다 <----> 인터페이스 :  추상 메서드만 가질 수 있다.

 

# 문제

interface Question {
	
	// 1~100까지 중에서 3의 배수 이면서 5의 배수를 출력
	int MAX = 100;
	public void cal35();
	
	// a~100까지의 출력을 하는데 1줄에 10개씩 출력하고 홀수 합계를 출력하시오
	public int sum(int a);
	
	default void logo() {
		System.out.println("interface create");
	}
}

package java02_intermediate;

import java.util.Scanner;

interface Question {
	
	// 1~100까지 중에서 3의 배수 이면서 5의 배수를 출력
	int MAX = 100;
	public void cal35();
	
	// a~100까지의 출력을 하는데 1줄에 10개씩 출력하고 홀수 합계를 출력하시오
	public int sum(int a);
	
	default void logo() {
		System.out.println("interface create");
	}
}

class Answer implements Question {
	
	@Override
	public void cal35() {
		System.out.println("1부터 100까지 3과 5의 공배수 출력");
		for(int i = 1; i <= MAX; i++) {
			if(i%3 == 0 && i%5 == 0) {
				System.out.print(i+" ");
			}
		}
	}
	
	@Override
	public int sum(int a) {
		// a~100까지의 출력을 하는데 1줄에 10개씩 출력하고 홀수 합계를 출력하시오
		System.out.println(a+"~100까지 10개씩 출력과 홀수합");
		int oddSum = 0;
		int count = 0;

		for(int i = a; i <= MAX; i++) {
			System.out.print(i+" ");
			if(i%2 == 1) {
				oddSum += i;
			}
			count++;
			if(count == 10) {
				System.out.println();
				count = 0;
			}
		}
		return oddSum;
	}
	
	
}

public class Java27_Interface {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		Answer ans = new Answer();
		
		ans.logo();
		ans.cal35();
		
		System.out.print("\n\na값 입력 : ");
		int a = sc.nextInt();
		
		int oddSum = ans.sum(a);
		System.out.println("\n홀수합 : "+oddSum);
		
		sc.close();
		
	}

}