본문 바로가기

IT일반과목/java

합계(인터페이스)

====================================================================
- 인터페이스
 -> 추상화정도가 더 높은 추상클래스
 -> 미완성도가 높은 클래스
 -> 추상메소드로만 이루어져있는 클래스
 -> 상수형변수만 가능
 -> 협업할때 사용한다.

=====================================================================
인터페이스를 만들면 아직 그건 만들고있는 상태이므로 못갖고 온다.
Calculator -> 만든다.

view를 만들기 위해 caldemo를 사용했다.

Calc -> 개발자1번은 Caldemo,CalView를 만든다. 행위를 하고

개발자2번은 Calc라는 인플리먼트 상속받아 Calculator과 Calview를 합쳐주면

끝나는 구조이다.

1. 인터페이스를 보고 서로 이렇게 만들자는 얘기를 한다.
2. 개발자1번은 인플리먼트를 보고 그거에 대한 소스를 만든다.
3. 개발자2번은 리턴값 대충 해놓고 프론트단을 만든다.
4. 나중엔 객체화한걸 Caldemo를 Calculator로바꿔주면 끝!!

 

 

==========================================================================

 

 

 

 

package kh.java.test;

public interface Calc {
 public int sum(int num1, int num2, int num3);//더해서준다.
 public double avg(int num1,int num2, int num3);//평균내서준다.
 

}
//sum -> 정수3개
//avg -> 정수3개를 전달해줘야한다.

 

==============================================

package kh.java.test;
//기능구현하는것, 이부분은 실제로 기능구현 하므로 return값대신 실제 변수의값들을 넣어줘야한다.
public class Calculator implements Calc {
 public int sum(int num1, int num2, int num3) {
  return (num1+num2+num3);
 }
 public double avg(int num1, int num2, int num3) {
  //return 1.1;//(num1+num2+num3)/(double)3;
  return sum(num1,num2,num3)/(double)3;
 }
}

==============================================

package kh.java.test;

public class CalDemo implements Calc {
 public int sum(int num1, int num2, int num3) {
  return 1;//(num1+num2+num3);
 }
 public double avg(int num1, int num2, int num3) {
  return 2.1;//(num1+num2+num3)/(double)3;
 }
}
//아직 개발자가 만들고있는 단계이다.
//그치만 참조해서 만들것이다.

=====================================

package kh.java.test;

import java.util.Scanner;


public class CalView {
 Scanner sc = new Scanner(System.in);
 public void main() {
  //CalDemo c = new CalDemo(); //칼데모를 객체화헀다.
  //연습용으로 Demo를 한후 기능구현 끝났을 경우엔 바꿔주면 된다.
 // Calculator c = new Calculator();
  CalDemo c = new CalDemo();
  System.out.print("첫번째 숫자 : ");
  int num1 = sc.nextInt();
  System.out.print("두번째 숫자 : ");
  int num2 = sc.nextInt();
  System.out.print("세번째 숫자 : ");
  int num3 = sc.nextInt();
  int sum = c.sum(num1, num2, num3);
  double avg = c.avg(num1, num2, num3);
  System.out.println("합 : "+sum);
  System.out.println("평균 : "+avg);
 }

 

 

 

 

}

----------------------------------------------------------------

package kh.java.test;

public class Run {
 public static void main(String[] args) {
  CalView c = new CalView();
  c.main();
 }
}

 

 

'IT일반과목 > java' 카테고리의 다른 글

Protected 접근 제한자  (0) 2018.07.24
예금계좌 getter setter  (0) 2018.07.24
포인트관리(추상화)  (0) 2018.07.24
포인트관리(상속)  (0) 2018.07.24
포인트관리  (0) 2018.07.24