CODE/JAVA1
OOP
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;
}
}