☭DEVELOPER/#2 웹개발(자바기반 풀스택)

[BACKEND] 코딩테스트 9

조반짝 2023. 9. 1. 10:27
728x90
반응형
package Coding_Test;

import java.util.Scanner;

/*
Q15. 객체지향 프로그래밍 언어의 구성요소인 클래스(Class),
       메소드(Method), 변수(Variable) 등을 활용하여
       Scanner 클래스 활용 키보드로 두개의 정수값을 입력 받아서
       사칙 연산을 수행하는 자바 프로그램을 제작하시기 바랍니다.
       이때, 4가지 사칙 연산 함수를 선언한 클래스(Class)명은
       Calculator 로 하고, 실행 클래스(Class)명은 Coding_Test15로 하시기 바라며,
       다음과 같이 실행 결과값이 나타나도록 하시기 바랍니다.

[실행 결과값]
첫번째 정수값을 입력하시기 바랍니다 ==> 14
두번째 정수값을 입력하시기 바랍니다 ==>  7
계산기의 덧셈 연산 결과값 = 21
계산기의 뺄셈 연산 결과값 = 7
계산기의 곱셈 연산 결과값 = 98
계산기의 나눗셈 연산 결과값 = 2

*/

라이브러리 클래스

package Coding_Test;

public class Calculator {
	
	int num1;
	int num2;

	public Calculator(int num1, int num2) {
		this.num1 = num1;
		this.num2 = num2;
	}
	
	public int add() {
		return (num1 + num2);
	}
	
	public int sub() {
		return(num1 - num2);
	}

	public int mul() {
		return(num1 * num2);
	}
	
	public int div() {
		return(num1 / num2);
	}

}

 

실행클래스

package Coding_Test;

import java.util.Scanner;

/*
Q15. 객체지향 프로그래밍 언어의 구성요소인 클래스(Class),
       메소드(Method), 변수(Variable) 등을 활용하여
       Scanner 클래스 활용 키보드로 두개의 정수값을 입력 받아서
       사칙 연산을 수행하는 자바 프로그램을 제작하시기 바랍니다.
       이때, 4가지 사칙 연산 함수를 선언한 클래스(Class)명은
       Calculator 로 하고, 실행 클래스(Class)명은 Coding_Test15로 하시기 바라며,
       다음과 같이 실행 결과값이 나타나도록 하시기 바랍니다.

[실행 결과값]
첫번째 정수값을 입력하시기 바랍니다 ==> 14
두번째 정수값을 입력하시기 바랍니다 ==>  7
계산기의 덧셈 연산 결과값 = 21
계산기의 뺄셈 연산 결과값 = 7
계산기의 곱셈 연산 결과값 = 98
계산기의 나눗셈 연산 결과값 = 2

*/

class Coding_Test15 {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		System.out.print("첫번째 정수값을 입력하시기 바랍니다 ==>");
		int num1 = scan.nextInt();
		System.out.print("두번째 정수값을 입력하시기 바랍니다==>");
		int num2 = scan.nextInt();
		
		Calculator cal = new Calculator(num1, num2);
		
		System.out.println("계산기의 덧셈 연산 결과값 =" + cal.add());
		System.out.println("계산기의 뺄셈 연산 결과값 =" + cal.sub());
		System.out.println("계산기의 곱셈 연산 결과값 =" + cal.mul());
		System.out.println("계산기의 나눗셈 연산 결과값 =" + cal.div());
	}
}

 

상속, 오버라이드(재정의)

예시) 삼성 라이브러리 계산기

package Coding_Test;

public class SamsungCalc extends Calculator{

	//생성자
	public SamsungCalc(int num1, int num2) {
		super(num1, num2);
	}

	//재정의
	@Override
	public int add() {
		System.out.println("삼성만의 앞선 기술로 만든 덧셈처리 기술입니다!");
	return (num1 + num2);
	}


	@Override
	public int sub() {
		System.out.println("삼성만의 앞선 기술로 만든 뺄셈처리 기술입니다!");
		return super.sub();
	}


	@Override
	public int mul() {
		System.out.println("삼성만의 앞선 기술로 만든 곱셈처리 기술입니다!");
		return super.mul();
	}


	@Override
	public int div() {
		System.out.println("삼성만의 앞선 기술로 만든 나눗셈처리 기술입니다!");
		return super.div();
	}
	
	
}

삼성 실행클래스

package Coding_Test;

import java.util.Scanner;

public class SamsungCalExample {

	public static void main(String[] args) {
		
		Scanner scan = new Scanner(System.in);
		System.out.println("첫번째 정수값을 입력해 주시기 바랍니다==>");
		int num1 = scan.nextInt();
		System.out.println("두번째 정수값을 입력해 주시기 바랍니다==>");
		int num2 = scan.nextInt();
		
		SamsungCalc samCalc = new SamsungCalc(num1, num2);
		System.out.println("삼성 계산기의 덧셈 결과값 =" + samCalc.add());
		System.out.println("삼성 계산기의 뺄셈 결과값 =" + samCalc.sub());
		System.out.println("삼성 계산기의 곱셈 결과값 =" + samCalc.mul());
		System.out.println("삼성 계산기의 나눗셈 결과값 =" + samCalc.div());
	}
}

 

인터페이스 (기능명세)

삼성이 하청업체에 기능명세를 부여해서 생산하게 함

삼성베트남 공장 라이브러리 클래스 생성

package Coding_Test;

public class Samsung_Bt_Calc extends SamsungCalc implements SamsungCal {

	public Samsung_Bt_Calc(int num1, int num2) {
		super(num1, num2);
	}

	@Override
	public int add() {
		System.out.println("삼성베트남 공장에서 제작한 계산기입니다!");
		return super.add();
	}

	@Override
	public int sub() {
		System.out.println("삼성베트남 공장에서 제작한 계산기입니다!");
		return super.sub();
	}

	@Override
	public int mul() {
		System.out.println("삼성베트남 공장에서 제작한 계산기입니다!");
		return super.mul();
	}

	@Override
	public int div() {
		System.out.println("삼성베트남 공장에서 제작한 계산기입니다!");
		return super.div();
	}

	

	
}

삼성 베트남 계산기 실행클래스 생성

package Coding_Test;

import java.util.Scanner;

public class Samsung_Calc_BT_Example {

	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);
		System.out.println("계산기 첫번쨰 정수값을 입력해주세요==>");
		int num1 = scan.nextInt();
		System.out.println("계산기 두번쨰 정수값을 입력해주세요==>");
		int num2 = scan.nextInt();
		
		Samsung_Bt_Calc samCalcBT = new Samsung_Bt_Calc(num1, num2);
		System.out.println("삼성 베트남 계산기 덧셈 연산 결과 =" + samCalcBT.add());
		System.out.println("삼성 베트남 계산기 뺄셈 연산 결과 =" + samCalcBT.sub());
		System.out.println("삼성 베트남 계산기 곱셈 연산 결과 =" + samCalcBT.mul());
		System.out.println("삼성 베트남 계산기 나눗셈 연산 결과 =" + samCalcBT.div());
	}

}
728x90
반응형