maskan 2021. 1. 27. 15:59
public class OOP {

	public static void main(String[] args) {
		/*
		 * 객체지향 프로그래밍(Object Oriented Programming)
		 * - 프로그래밍을 단순히 코드의 연속으로 보는 것이 아니라 객체 간의 상호작용으로 보는 것
		 * - 코드의 재사용성이 높고 유지보수가 용이하다.
		 */

		SampleClass sc = new SampleClass();
		// SampleClass의 클래스를 참조
		System.out.println(sc.field);

		sc.method1();
		String returnValue = sc.method2(45); // 파라미터와 리턴값이 있음
		System.out.println(returnValue);

		sc.flowTest1();

		// 다음을 한줄씩 계산해서 최종 결과값을 출력해주세요.
		// 1. 123456+654321

		Calculator cal = new Calculator();
		long value = cal.plus(123456, 654321);

		// 2. 1번의 결과값*123456

		value = cal.multiple(value, 123456);

		// 3. 2번의 결과값/123456

		value = cal.divide(value, 123456);

		// 4. 3번의 결과값-654321

		value = cal.minus(value, 654321);

		// 5. 4번의 결과값 %123456

		value = cal.remainder(value, 123456);
		System.out.println(value);

	}
}

 

 

 

import /*패키지안에 있지 않은 다른 클래스의 패키지를 사용할 때*/java.util.*;
//java.utill 패키지 아래의 모든 클래스를 사용하겠다
//Ctrl+Shift+o 단축키로 import 가능

public class SampleClass {
	
	public static void main(String[] args){
	int local = 10; //지역변수 : 메서드 안에서만 사용하는 변수
}
	
	int field; //전역변수 : 클래스 전체 영역에서 사용하는 변수
	//초기화하지 않아도 기본값으로 초기화된다.
	
	/*
	 * - 메서드 : 변수를 가지고 할 일
	 * - 선언 방법 : 리턴타입 메서드명(파라미터){ }
	 * - 파라미터(매개변수) : 실행에 필요한 정보
	 * - 리턴타입(반환타입) : 실행 후 돌려줘야하는 결과물
	 */

	void method1() { // void: 타입이 없다. 돌려줄 값이 없다.
		System.out.println("파라미터도 리턴타입도 없는 메서드");
		return;// void 타입에서는 메서드를 종료시키는 역할
	}

	String method2(int parameter) {
		return parameter + " 를 받아 명령을 수행하고 결과물을 리턴하는 메서드";
		// 리턴값이 필요한 리턴타입
	}

	int method3(int[] parameter) {
		return parameter[5] * 100 + 12;
	}

	// flowTest1()호출시 출력되는 문장에 번호를 붙여주세요.
	void flowTest1() {
		System.out.println("flowTest1 시작 : 1");
		flowTest3();
		System.out.println("flowTest1 종료 : 6");
	}

	void flowTest2() {
		System.out.println("flowTest2 시작 : 3");
		System.out.println("flowTest2 종료 : 4");
	}

	void flowTest3() {
		System.out.println("flowTest3 시작 : 2");
		flowTest2();
		System.out.println("flowTest3 종료 : 5");
	}

}

 

 

 

public class Calculator {

	// 5개의 메서드, 2개의 파라미터

	long plus(long a, long b) {
		return a + b;
	}

	long minus(long a, long b) {
		return a - b;
	}

	long multiple(long a, long b) {
		return a * b;
	}

	long divide(long a, long b) {
		return a / b;
	}

	long remainder(long a, long b) {
		return a % b;
	}

}