hyeonga_code

Java_22_디자인 패턴 DP_Design Pattern 본문

Java

Java_22_디자인 패턴 DP_Design Pattern

hyeonga 2023. 9. 19. 06:59
반응형


 - DP_Design Pattern_디자인 패턴
    - 유연한 코드의 집합입니다.
    - 재활용이 쉬운 코드의 집합입니다.
    - Spring Framework

 - 실습
=====

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
package basic;
//모든 클래스는 패키지 안에 생성합니다.
 
// import java.util.Scanner;
import java.util.*;    // util 안의 모든 것을 참조합니다.
 
public class OperatorEx2 {
    // 모든 함수_메소드는 클래스 안에 작성합니다.
    
    public static void main(String[] args) {
        // Java의 모든 코드는 함수 안에 작성합니다.
        
        /* 
             - 문자를 입력받아 숫자인지 영문자인지 구분하는 프로그램 작성하기
                 - 명사 : 문자를
                 - 동사 : 구분/판별한다.
                     - 숫자/문자 구분 알고리즘을 가지고 있어야 합니다.
                1) 데이터 입력받기
                2) 데이터를 저장할 변수 할당하기
                3) 변수를 조작/판별
                4) 결과 반환/출력
        */
        
        // 1) 데이터 입력
        char ch = ' ';    // 문자 한 개이므로 띄어쓰기로 선언합니다.
        Scanner scanner = new Scanner(System.in);    // 데이터를 입력받는 함수를 호출합니다.
            /*
                Scanner _ 함수입니다. > 'import java.util.Scanner;' 참조해야합니다.
             */
        
        // 2) 변수 저장
        System.out.println("Input a word : ");
        String input = scanner.nextLine();        // 입력받은 데이터 값을 변수에 저장합니다.
        System.out.println("input: " + input);
            /*
                - 저장한 값을 출력합니다.
                - 항상 확인하는 습관을 들이는 것이 좋습니다.
            */
 
        ch = input.charAt(0);    // 입력 받은 문자열의 첫 문자를 추출합니다.
            /*
                 - 문자 하나를 입력받기는 어려우므로 배열 형태로 추출합니다.
                 - index_ 문자열은 0부터 시작하여 위치에 숫자가 부여됩니다.
                 - charAt('원하는 위치') : 배열에서 원하는 위치의 값을 가져오겠습니다.
             */
        System.out.println("ch : " + ch);    // 확인용 데이터 출력 코드입니다.
    
        
        // 3) 변수 조작/판별
        String result = "";
        
        if ('0' <= ch && ch <= '9') {
            /*
                0 <= ch <= 9
                    - 논리는 2항 연산자이므로 분리해서 작성해야합니다.
             */            
            result = "Number";
        } else if ('A' <= ch && ch <= 'z'){
            // System.out.println("Word");
            result = "Word";
        } else {
            result = "Error";
        }
        
        // 4) 출력
        System.out.println("result : " + result);
            /*
                Input a word : 123456789
                result : Number
                
                Input a word : hello
                result : Word
                
                Input a word : @#$%^&*() 
                result : Error
             */
        scanner.close();    // Scanner를 명시적으로 닫아주는 것이 좋습니다.
            /*
                - Java에는 가비지 컬렉션으로 메모리 점유를 자동으로 해제하는 기능이 있습니다.
                    - 그러나 사용중이지 않은 데이터를 대상으로만 실행됩니다.
                - OS 에서 제공한 표준 입력을 해제해서 돌려주어야합니다.
                    - 다른 프로그램이 파일에 엑세스 할 수 있게 됩니다.
            */
    }    
}
 
 
 
 
cs

 

반응형