※ 절차지향 (POP) : 처리속도가 빠르다는 장점이 있으나 (코드)라인수가 늘어 날 때마다 한계가 오고 유지보수가 용이하지 않음
public static void main(String[] args) {
/*
형식 : object 설계
class 클래스명 {
변수선언
함수(method)
}
object 생성(선언)
클래스명 클래스변수 = new 클래스명();
*/
MyClass mycls = new MyClass();
mycls.x = 1;
mycls.y = 2;
mycls.name = "홍길동";
mycls.method();
Student stu = new Student();
stu.name = "홍길동";
stu.language = 100;
stu.english = 90;
stu.math = 95;
//객체 배열
Student arrStu[] = new Student[3]; //배열을 동적할당
//클래스를 동적할당 해준 뒤 사용해야 함
for (int i = 0; i < arrStu.length; i++) {
arrStu[i] = new Student();
}
arrStu[0].language = 100;
}
}
//클래스 설계(구축)
class MyClass {
//(멤버)변수
int x, y;
String name;
//메소드(함수)
void method() {
System.out.println("MyClass method() 호출");
}
}
class Student {
String name;
int language;
int english;
int math;
}
package object;
import sort.Sorting;
public class MainClass {
public static void main(String[] args) {
Sorting sort = new Sorting();
sort.init();
sort.input();
sort.sorting();
sort.result();
}
}
package sort;
import java.util.Iterator;
import java.util.Scanner;
public class Sorting {
int number[];
int updown;
public void init() {
number = null;
updown = 0;
}
public void input() {
Scanner sc = new Scanner(System.in);
System.out.print("정렬할 숫자의 갯수 = ");
int count = sc.nextInt();
number = new int[count];
for (int i = 0; i < number.length; i++) {
System.out.print((i + 1) + "번째 수 = ");
number[i] = sc.nextInt();
}
System.out.print("오름(1)/내림(2) = ");
updown = sc.nextInt();
}
public void sorting() {
int temp;
for (int i = 0; i < number.length - 1; i++) {
for (int j = i + 1; j < number.length; j++) {
if(updown == 1) {
if(number[i] > number[j]) {
temp = number[i];
number[i] = number[j];
number[j] = temp;
}
}else {
if(number[i] < number[j]) {
temp = number[i];
number[i] = number[j];
number[j] = temp;
}
}
}
}
}
public void result() {
for (int i = 0; i < number.length; i++) {
System.out.print(number[i] + " ");
}
System.out.println();
}
}
package work08;
import calculator.calculator;
public class MainClass {
public static void main(String[] args) {
calculator cal = new calculator();
cal.input();
cal.cal();
cal.result();
cal.replay();
}
}
package calculator;
import java.util.Scanner;
public class calculator {
Scanner sc = new Scanner(System.in);
int number1, number2, result;
String operator;
public void input() {
System.out.print("첫 번째 숫자 입력 >> ");
number1 = sc.nextInt();
System.out.print("+, -, *, / 중 하나를 입력 >>");
operator = sc.next();
System.out.print("두 번째 숫자 입력 >> ");
number2 = sc.nextInt();
}
public void cal() {
if (operator.equals("+") == true) {
result = number1 + number2;
}else if (operator.equals("-") == true) {
result = number1 - number2;
}else if (operator.equals("*") == true) {
result = number1 * number2;
}else if (operator.equals("/") == true) {
result = number1 / number2;
}
}
public void result() {
System.out.println(number1 + operator + number2 + " = " + result);
}
public void replay() {
while(true) {
System.out.print("다시 계산하시겠습니까? (y/n) = ");
String replay = sc.next();
if(replay.equals("y")) {
System.out.println("다시 시작합니다");
input();
cal();
result();
}else {
break;
}
}
}
}
| 접근지정자 | 뜻 | 참고 |
|---|---|---|
| private | 개인적인 | |
| public | 대중적인 | |
| protected | 상속에 관련 | 거의 사용x |
package sample25;
import my.MyClass;
public class MainClass {
public static void main(String[] args) {
MyClass mycls = new MyClass();
// mycls.number = 1; 바로 호출되지 않음
mycls.name = "홍길동";
// mycls.height = 174.1; 바로 호출되지 않음
mycls.setNumber(123); //private int number -> 123
int number = mycls.getNumber();
System.out.println("number = " + number);
}
}
// 멤버변수 90%이상 -> private
private int number;
public String name;
protected double height;
// 메소드 90%이상 -> public
public void setNumber(int num) {
number = num;
}
public int getNumber() {
return number;
}
package human;
public class Human {
private String name;
private int age;
private double height;
//Source -> Generate Getters and Setters...
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
}