객체지향 프로그래밍에서는 데이터를 객체라는 독특한 장치로 활용.
클래스(class) 작성
1. 데이터가 도표의 형태로 구성될 수 있는지 생각 - > 도표 맨 위 항목에 해당하는 것을 인스턴스 변수로 설정.
1-2. 인스턴스 변수 초기화값 설정 여부 -> 모든 객체가 같은 값을 가지고 생성되게 하고 싶을 때만, 설정.
2. 필수 데이터가 있으면, 생성자를 고려.
3. 데이터를 가지고 어떤 로직을 원하는지를 메소드로 설정.
4. main메소드를 이용해서 객체를 생성해보고 테스트
4-2. 해당 클래스 안에 main메소드 만들기
4-3. 외부에 main메소드를 별도의 클래스로 만들기
클래스(class) 활용
1. 데이터 위주의 클래스(class)가 메시지를 표하도록 하지 말기.
2. 객체와 객체 연결
2-2. 호출하는 쪽에서 필요한 객체를 만들어서 의뢰하는 것
2-1-1. 일반적으로 아래와 같이 구분 :
화면을 담당하는 객체를 별도의 클래스로 구성
비즈니스 로직을 담당하는 객체를 별도의 클래스로 구성
데이터의 저장 및 변경을 담당하는 객체를 별도의 클래스로 구성
+(feat. 클래스의 구성도/다이어그램/시퀀스 다이어그램)
Simple Example1: Calculator2.java , Calculator2UI.java
package makecClass;
public class Calculator2 {
/*
* P.324 : 계산기 클래스
*/
public double calculate(int a, int b, char oper) {
double result = 0.0;
if (oper == '+') {
result = a + b;
}else if (oper == '-') {
result = a - b;
}else if (oper == '*') {
result = a*b;
}else {
result = a /b;
}
return result;
}
}
package makecClass;
import java.util.Scanner;
public class Calculator2UI {
/*
* Calculator UI
*/
//Calculator2UI 객체가 Calculator2 객체를 사용하기 위해 인스턴스변수로 객체 생성
private Calculator2 cal = new Calculator2();
public void getInput() {
Scanner scanner = new Scanner(System.in);
System.out.println("첫 번째 숫자를 입력하세요.");
int first = scanner.nextInt();
System.out.println("연산 기호를 입력하세요.");
char oper = scanner.next().charAt(0);
System.out.println("두 번째 숫자를 입력하세요.");
int second = scanner.nextInt();
System.out.println("처음 입력: "+first);
System.out.println("연산 기호: "+oper);
System.out.println("두 번째 입력: "+second);
//Calculator 객체에게 일을 의뢰한다.
double result = cal.calculate(first, second, oper);
System.out.println("계산된 결과는 : "+result+"입니다.");
}
public static void main(String[] args) {
Calculator2UI ui = new Calculator2UI();
ui.getInput();
}
}
'2023 1학기 > JAVA' 카테고리의 다른 글
[백준 10809번] 백준 10809번 :알파벳 찾기(JAVA/자바) (0) | 2023.02.16 |
---|---|
[개발메모] Math.random() (0) | 2023.02.15 |
[github]깃허브 Repository에 파일들(.java) 올리기 (0) | 2023.01.24 |
명령라인에서 컴파일하고 실행하기 (0) | 2023.01.24 |