https://programmers.co.kr/learn/courses/30/lessons/12926

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์‹œ์ € ์•”ํ˜ธ | ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์–ด๋–ค ๋ฌธ์žฅ์˜ ๊ฐ ์•ŒํŒŒ๋ฒณ์„ ์ผ์ •ํ•œ ๊ฑฐ๋ฆฌ๋งŒํผ ๋ฐ€์–ด์„œ ๋‹ค๋ฅธ ์•ŒํŒŒ๋ฒณ์œผ๋กœ ๋ฐ”๊พธ๋Š” ์•”ํ˜ธํ™” ๋ฐฉ์‹์„ ์‹œ์ € ์•”ํ˜ธ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด AB๋Š” 1๋งŒํผ ๋ฐ€๋ฉด BC๊ฐ€ ๋˜๊ณ , 3๋งŒํผ ๋ฐ€๋ฉด DE๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. z๋Š” 1๋งŒํผ ๋ฐ€๋ฉด a๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด s์™€ ๊ฑฐ๋ฆฌ n์„ ์ž…๋ ฅ๋ฐ›์•„ s๋ฅผ n๋งŒํผ ๋ฏผ ์•”ํ˜ธ๋ฌธ์„ ๋งŒ๋“œ๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•ด ๋ณด์„ธ์š”. ์ œํ•œ ์กฐ๊ฑด ๊ณต๋ฐฑ์€ ์•„๋ฌด๋ฆฌ ๋ฐ€์–ด๋„ ๊ณต๋ฐฑ์ž…๋‹ˆ๋‹ค. s๋Š” ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž, ๋Œ€๋ฌธ์ž, ๊ณต๋ฐฑ์œผ๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. s์˜ ๊ธธ์ด๋Š” 8000์ดํ•˜์ž…๋‹ˆ๋‹ค.

programmers.co.kr

< ์‹œ์ € ์•”ํ˜ธ>

โ—‹ ์ฒ˜์Œ ํ‘ผ ํ’€์ด

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Solution {
  public String solution(String s, int n) {
      String answer = "";
      for(int i=0 ; i<s.length(); i++){
          if(s.charAt(i)==' ')
                answer+=' ';
          else {
              if(s.charAt(i)>=65 && s.charAt(i)<=90)
                 answer += s.charAt(i)+n>90 ? (char)(s.charAt(i)-26+n) :(char)(s.charAt(i)+n);
              else if(s.charAt(i)>=97 && s.charAt(i)<=122)
                 answer += s.charAt(i)+n>122 ? (char)(s.charAt(i)-26+n) :(char)(s.charAt(i)+n);
          }   
      }
           return answer;
  }
}
cs

โ—‹ ์ƒ๊ฐ ๊ณผ์ •

1.๋ฐ€์–ด๋‚ธ ๋‹ค๋Š”๊ฒƒ -> char๊ฐ’์— n์”ฉ ๋”ํ•ด์•ผํ•œ๋‹ค

2. ์†Œ๋ฌธ์ž ๋Œ€๋ฌธ์ž๋กœ ๋‚˜๋ˆ ์•ผํ•œ๋‹ค.

3. 'Z' ํ˜น์€ 'z' ๊ฐ€ ๋˜์—ˆ์„ ๋•Œ ์กฐ๊ฑด์ด ์žˆ์–ด์•ผํ•œ๋‹ค.

 

โ—‹ ์‹œํ–‰์ฐฉ์˜ค

1.์ฒ˜์Œ์—๋Š” ๋ฒ”์œ„๋„ ๋‚˜๋ˆ„์–ด์ฃผ์ง€ ์•Š์•˜๊ณ  ๊ณต๋ฐฑ๋„ ์ƒ๊ฐ ๋ชปํ–ˆ๊ณ  ์กฐ๊ฑด์‹์„ z๊ฐ€ ๋„˜์—ˆ์„๋•Œ๋งŒ ์–ด๋–ป๊ฒŒ ํ•ด๋ผ๋งŒ ๋„ฃ์–ด์คŒ

 

 

 

โ—‹ ํ•จ๊ป˜ ๋ณด๊ณ ์‹ถ์€ ํ’€์ด

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Caesar {
    String caesar(String s, int n) {
        String result = "";
    n = n % 26;
    for (int i = 0; i < s.length(); i++) {
      char ch = s.charAt(i);
      if (Character.isLowerCase(ch)) {
        ch = (char) ((ch - 'a' + n) % 26 + 'a');
      } else if (Character.isUpperCase(ch)) {
        ch = (char) ((ch - 'A' + n) % 26 + 'A');
      }
      result += ch;
    }
        return result;
    }
 
    public static void main(String[] args) {
        Caesar c = new Caesar();
        System.out.println("s๋Š” 'a B z', n์€ 4์ธ ๊ฒฝ์šฐ: " + c.caesar("a B z"4));
    }
}
cs

6๋ฒˆ์งธ์ค„) n๋Š” 25๊นŒ์ง€๋กœ ์ •ํ•ด์ ธ ์žˆ์ง€๋งŒ ๋งŒ์•ฝ์— 25๊นŒ์ง€ ์ •ํ•ด์ ธ ์žˆ์ง€ ์•Š์•˜๋‹ค๋ฉด %26๋กœ ์—ฐ์‚ฐํ•ด์„œ ๋‚˜๋จธ์ง€๋ฅผ ๋ฐ›๋Š”๋‹ค 

8๋ฒˆ์งธ์ค„) ์ž…๋ ฅ๋ฐ›์€ ch ๊ฐ€ ์†Œ๋ฌธ์ž ๋ฒ”์œ„(122)๋ฅผ ๋„˜์„์ˆ˜ ์žˆ์œผ๋‹ˆ๊น -'a'๋ฅผ ๋นผ๊ณ  +n์„ ํ•œ๋‹ค์Œ %26์„ ๋‚˜๋ˆ„๊ณ  ๋‹ค์‹œ 'a'๋ฅผ

            ๋”ํ•ด์ค€๋‹ค  ์—ฌ๊ธฐ์„œ ํ•ต์‹ฌ์€ ๋‚˜๋จธ์ง€์—ฐ์‚ฐ์ž(%)๋ฅผ ํ†ตํ•ด์„œ ๋ฐ€์–ด์ค„ ์ˆซ์ž ๋งŒํผ๋งŒ ๋‚จ๊ฒจ์ฃผ๋Š”๊ฒƒ

Character.isLowerCase(ch)

https://programmers.co.kr/learn/courses/30/lessons/42748

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - K๋ฒˆ์งธ์ˆ˜ | ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3]

programmers.co.kr

< K๋ฒˆ์งธ์ˆ˜ >

 

 

 

โ—‹ ์‹œํ–‰์ฐฉ์˜ค

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class Solution {
    public int[] solution(int[] array, int[][] commands) {
        int[] answer = new int[commands.length];//commands์˜ i๊ฐ’ ๋งŒํผ ๋งŒ๋“ค๊ธฐ
        int temp=0;
        int count=0;
        
        for(int i=0 ; i<commands.length; i++){
            for(int j=commands[i][0]-1 ; j< commands[i][1]-1;j++){
                 if(array[commands[i][0]-1]>array[commands[i][0]]){
                        temp=array[commands[i][0]];
                        array[commands[i][0]]=array[commands[i][0]-1];
                        array[commands[i][0]-1]=temp;
                            count++;
                    }             
            }if(count==0){
                
                answer[i]=array[commands[i][2]];
                break;
            }
        }
        return answer;
    }
}

1.์ธ๋ฑ์Šค์˜ ๊ฐ’์„ ์ œ๋Œ€๋กœ ํ™•์ธํ•˜์ง€ ์•Š์•˜๋‹ค.
2.i์™€ j๊ฐ€ ๊ฐ™์€ ๋•Œ๋ฅผ ์ƒ๊ฐํ•˜์ง€ ์•Š์•˜๋‹ค.
3."์ž๋ฅธํ›„ ์ •๋ ฌ" ์ž๋ฅด์ง€์•Š๊ณ  ๊ทธ๋Œ€๋กœ ์ธ๋ฑ์Šค ๊ฐ’๋งŒ ํ•ด์ฃผ๋ฉด ๋ฐฐ์—ด์˜ ์œ„์น˜๊ฐ€ ๋ฐ”๋€Œ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์Œ๋ฒˆ์งธ ์ •๋ ฌ ๋˜์žˆ์„๋•Œ ์ฒ˜์Œ ๋ฐฐ์—ด ์ƒํƒœ๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ ๋ฌด์กฐ๊ฑด ์ž˜๋ผ์„œ ํ•ด์•ผํ•œ๋‹ค.

 

โ—‹ ํ…Œ์ŠคํŠธ๋Š” ์„ฑ๊ณตํ•˜์ง€๋งŒ ํ’€์ด ์ œ์ถœ์‹œ ์‹คํŒจํ•œ ํ’€์ด

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
class Solution {
    public int[] solution(int[] array, int[][] commands) {
        int[] answer = new int[commands.length];
        int temp=0;
        int count=0;
        int[][] arr1= new int[commands.length][array.length];
        
        //์ž๋ฅด๋ฉด์„œ ๋ฐฐ์—ด ๋ณต์‚ฌ
        for(int i=0 ;i<commands.length; i++){
            for(int j=commands[i][0]-1, k=0;j<=commands[i][1]-1; j++,k++)
                arr1[i][k]=array[j];
        }
        //๋ฒ„๋ธ”์ •๋ ฌ
        for(int i=0 ; i<commands.length; i++){
            if(commands[i][0]==commands[i][1]){
                answer[i]=arr1[i][commands[i][2]-1];
                continue;
                }
            for(int k=0; k<commands[i][1]-2; k++){
            for(int j=0 ; j<commands[i][1]-2;j++){
                 if(arr1[i][j]>arr1[i][j+1]){
                        temp=arr1[i][j];
                       arr1[i][j]=arr1[i][j+1];
                        arr1[i][j+1]=temp;
                               
                    } 
                }
            }
            answer[i]=arr1[i][commands[i][2]-1];
        }
        return answer;
    }
}

 

1.ํ…Œ์ŠคํŠธ๋Š” ์„ฑ๊ณตํ–ˆ๋Š”๋ฐ ์ฝ”๋“œ ์ œ์ถœํ–ˆ์„ ๋•Œ ํ•œ๊ฐœ ๋นผ๊ณ  ๋ชจ๋‘ ์‹คํŒจํ–ˆ๋‹ค. sort ํ•จ์ˆ˜ ์‚ฌ์šฉํ•ด์„œ ๋‹ค์‹œ ํ•ด๋ด์•ผ๊ฒ ๋‹ค.

 ---------------------------------------------------- ์—ฌ๊ธฐ์„œ๋ถ€ํ„ฐ ์„ฑ๊ณตํ•œ ํ’€์ด  --------------------------------------------------

โ—‹ ๋‹ค๋ฅธ์‚ฌ๋žŒ ํ’€์ด๋ฅผ ๋ณด๊ณ  ํ‘ผ ํ’€์ด( sort() , copyOfRange() ์‚ฌ์šฉ)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import java.util.Arrays;
class Solution {
    public int[] solution(int[] array, int[][] commands) {
        int[] answer = new int [commands.length];        
        
        for(int i =0; i<commands.length; i++){
         int[] temp= Arrays.copyOfRange(array,commands[i][0]-1,commands[i][1]);
            Arrays.sort(temp);
            answer[i]=temp[commands[i][2]-1];
        }
        
        return answer;
    }
}

- Arrays.sort(๋ฐฐ์—ด) : ๋ฐฐ์—ด์•ˆ์— ์žˆ๋Š” ๋ฌธ์ž์—ด, ์˜๋ฌธ์ž , ์ˆซ์ž ๋ชจ๋‘ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ ํ•ด์ค€๋‹ค.
- Arrays.copyOfRange(๋ฐฐ์—ด์ด๋ฆ„,์‹œ์ž‘,๋) : ๋ฐฐ์—ด์˜ ์‹œ์ž‘๊ณผ ๋์„ ์ •ํ•ด์„œ ๋ฐฐ์—ด๋กœ ๋ณต์‚ฌํ•ด์ค€๋‹ค.

 

โ—‹ sort() ํ•จ์ˆ˜๋งŒ ์‚ฌ์šฉํ•œ ํ’€์ด

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import java.util.Arrays;
class Solution {
    public int[] solution(int[] array, int[][] commands) {
        int[] answer = new int [commands.length];        
                  
        for(int i =0; i<commands.length; i++){
            int start =commands[i][0]-1;
            int finish= commands[i][1]-1;
            int pick=commands[i][2]-1;
            int temp[]=new int [finish-start+1];//4-1=3+1=4 -> 0 1 2 3
            
            //๋ฐฐ์—ด ๋ณต์‚ฌ
            for(int j=start,k=0; j<=finish; j++,k++)//j=1 2 3 4 k=0 1 2 3
                temp[k]=array[j];                
            
            //์ •๋ ฌ                   
            Arrays.sort(temp);
            answer[i]=temp[pick];
        }
        return answer;
    }
 }
 
 

 

โ—‹sort()ํ•จ์ˆ˜ , copyOfRange()ํ•จ์ˆ˜ ์—†์ด ํ‘ผ ํ’€์ด

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
import java.util.Arrays;
class Solution {
    public int[] solution(int[] array, int[][] commands) {
        int[] answer = new int [commands.length];        
                  
        for(int i =0; i<commands.length; i++){
            int start =commands[i][0]-1;
            int finish= commands[i][1]-1;
            int pick=commands[i][2]-1;
            int temp[]=new int [finish-start+1];//4-1=3+1=4 -> 0 1 2 3
            
            //๋ฐฐ์—ด ๋ณต์‚ฌ
            for(int j=start,k=0; j<=finish; j++,k++)//j=1 2 3 4 k=0 1 2 3
                temp[k]=array[j];                
            
            //ํ–ฅ์ƒ๋œ ๋ฒ„๋ธ”์†ŒํŠธ ์ด์šฉํ•˜์—ฌ ์ •๋ ฌ
            int count=0;
            for(int j=0; j<temp.length-1;j++){
                for(int k=0;k<temp.length-1; k++){//0 1 2 
                    int swap;
                    if(temp[k]>temp[k+1]){
                        swap=temp[k];
                        temp[k]=temp[k+1];
                        temp[k+1]=swap;
                        count++;
                    }
                }if(count==0)   //swap์ด ๋”์ด์ƒ ์ผ์–ด๋‚˜์ง€ ์•Š๋Š”๋‹ค๋ฉด break
                    break;
            }
            //์ •๋ ฌ์ดํ›„ answer์— ๋„ฃ๊ธฐ
            answer[i]=temp[pick];
        }
        return answer;
    }
 }
 
 
 
cs

1. this()

 - ์ƒ์„ฑ์ž ์•ˆ์—์„œ ๋‹ค๋ฅธ ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœํ•ด์„œ ์‚ฌ์šฉ ํ• ์ˆ˜ ์žˆ๋‹ค.

 - ํด๋ž˜์Šค๋ช…์™€ ๊ฐ™์€ ์ƒ์„ฑ์ž๋ช…์ด ์•„๋‹Œ this()๋ผ๋Š” ํ‚ค์›Œ๋“œ๋กœ ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค

    ? ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœ ํ• ๋•Œ ์ƒ์„ฑ์ž๋ช…์œผ๋กœ ํ˜ธ์ถœํ•˜๋ฉด ๋” ํŽธํ•  ๊ฒƒ ๊ฐ™์€๋ฐ ์™œ this๋ผ๋Š” ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๊ฑธ๊นŒ?

       ์ž๋ฐ” ๋ฌธ๋ฒ•์ด ๋งŒ๋“ค์–ด ์งˆ๋•Œ ์ด๋ฏธ ํด๋ž˜์Šค๋ณ€์ˆ˜์™€ ํด๋ž˜์Šค ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ํด๋ž˜์Šค๋ช….๋ณ€์ˆ˜, ํด๋ž˜์Šค๋ช….ํ•จ์ˆ˜๋กœ ํ˜ธ์ถœ ํ•ด์„œ ์ด๋ฏธ ๋ฌธ๋ฒ•์„ ์„ ์  ๋‹นํ•ด               ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœ ํ•  ๋•Œ this๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

 -  ํ•œ ์ƒ์„ฑ์ž์—์„œ ๋‹ค๋ฅธ ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœ ํ• ๋•Œ๋Š” ๋ฐ˜๋“œ์‹œ ์ฒซ์ค„์—๋งŒ ํ˜ธ์ถœ์ด ๊ฐ€๋Šฅํ•˜๋‹ค

    ? ์ƒ์„ฑ์ž ์•ˆ์—์„œ ์ด๋ฏธ ์ดˆ๊ธฐํ™”๋ฅผ ๋‹ค ํ–ˆ๋Š”๋ฐ ๋งˆ์ง€๋ง‰์— ๋‹ค๋ฅธ ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค๋ฉด ์œ„์— ์ดˆ๊ธฐํ™” ๋˜์—ˆ๋˜ ๊ฒƒ๋“ค์ด  ๋ฌด์˜๋ฏธ ํ•ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ์ œ์ผ ์ฒซ์ค„์— ํ˜ธ         ์ถœ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

 

โ˜…โ˜…โ˜…โ˜…โ˜… ๊ธฐ์–ตํ•˜๊ธฐ) 1.์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœ ํ• ๋•Œ๋Š” ๋ฐ˜๋“œ์‹œ ์ฒซ์ค„์— ํ˜ธ์ถœํ•˜๊ธฐ 2. ํด๋ž˜์Šค๋ช…์ด ์•„๋‹Œ this๋กœ ํ˜ธ์ถœํ•˜๊ธฐ

 

 

 

โ—‹ ์ƒ์„ฑ์ž ํ˜ธ์ถœ ์˜ˆ์ œ

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
public class Con{
            int x;
    
        Con(){
            
            //์ƒ์„ฑ์ž ํ˜ธ์ถœ
            this(1000);        
            
            x = 10;
            System.out.println("์ธ์ž๊ฐ€ ์—†๋Š” ์ƒ์„ฑ์ž");
            System.out.println("Con์ด ๊ฐ–๊ณ ์žˆ๋Š” x: " +this.x);
        }
 
        Con(int x){
            
            this.x=x;
            System.out.println("์ธ์ž๊ฐ€ ํ•˜๋‚˜์ธ ์ƒ์„ฑ์ž");
            System.out.println("Con ์ด ๊ฐ–๊ณ ์žˆ๋Š” x: " +this.x);
 
        }
 
    public static void main(String[] args){
    
        Con ob1 = new Con();
        
    }
 
 

 

์‹คํ–‰๊ฒฐ๊ณผ

์ฝ”๋“œ ์„ค๋ช…)

24๋ฒˆ์ค„) Con ๊ฐ์ฒด ob1์ด ์ƒ์„ฑ ๋˜๋ฉด์„œ Con() ์ƒ์„ฑ์ž๊ฐ€ ํ˜ธ์ถœ ๋œ๋‹ค.
4๋ฒˆ์ค„) con()์ƒ์„ฑ์ž๊ฐ€ ํ˜ธ์ถœ ๋˜๋ฉด์„œ
7๋ฒˆ์ค„) ์ œ์ผ ์ฒซ์ค„์— this(1000)์ด ํ˜ธ์ถœ ๋˜์—ˆ์œผ๋ฏ€๋กœ
14๋ฒˆ์ค„)Con(1000)์ด ํ˜ธ์ถœ ๋˜๋ฉด์„œ
16๋ฒˆ์ค„)x์˜ ๊ฐ’์€ 1000์ด ๋œ๋‹ค. ์ƒ์„ฑ์žํ˜ธ์ถœ์ด ๋๋‚˜๊ณ 
9๋ฒˆ์ค„)์›๋ž˜ Con()์œผ๋กœ ๋Œ์•„๊ฐ€ x=10์ด ๋“ค์–ด๊ฐ€์„œ  x์˜ ๊ฐ’์€ 10์œผ๋กœ ๋ฐ”๋€๋‹ค.

 

? ์—ฌ๊ธฐ์„œ ์˜๋ฌธ์  ?

Q. ์œ„์— ์ฝ”๋“œ๊ฐ™์ด ํ•˜๋ฉด ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœํ•ด ๋ดค์ž ์ดˆ๊ธฐํ™”ํ•œ ๊ฐ’์ด ๋ฐ”๋€Œ๋Š”๋ฐ ์™œ ํ˜ธ์ถœํ•˜๋Š” ๊ฑธ๊นŒ?

1)

1
2
3
4
5
6
7
8
9
Car(){
    this("white",auto, 4);
}
 
Car(String color,String gearType , int door){
    this.color = color;
    this.gearType = gearType;
    this.door = door; 
}
 
2)
1
2
3
4
5
6
7
8
9
10
Car(){
    this.color = "white";
    this.gearType = auto;
    this.door = 4
}
 
// ์ƒ์„ฑ์ž ํ˜ธ์ถœ์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด
Car(){ 
    this("white",auto, 4);
}

 

A. - 2๋ฒˆ ์ฝ”๋“œ์— ์œ„์— Car()์™€ ์•„๋ž˜ Car()๋Š” ๊ฐ™์€ ์ผ์„ ํ•˜์ง€๋งŒ ์•„๋ž˜ Car()๋Š” this ํ˜ธ์ถœ์„ ํ†ตํ•ด ์ดˆ๊ธฐํ™” ํ•ด์ฃผ๋ฏ€๋กœ ์ข€ ๋” ์ฝ”๋“œ๋ฅผ ๊ฐ„๋žตํ•˜๊ฒŒ ํ• ์ˆ˜ ์žˆ๋‹ค.

   - ์ƒ์„ฑ์ž๋“ค์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์„œ๋กœ ๊ด€๊ณ„๊ฐ€ ๊น‰์€ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•„์„œ ์„œ๋กœ ํ˜ธ์ถœํ•˜๋„๋ก ํ•˜์—ฌ ์œ ๊ธฐ์ ์œผ๋กœ ์—ฐ๊ฒฐํ•ด์ฃผ๋ฉด ๋” ์ข‹์€ ์ฝ”๋“œ๋ฅผ ์–ป์œผ์ˆ˜ ์žˆ๊ณ  ์ˆ˜์ •์ด ํ•„์š”         ํ•œ ๊ฒฝ์šฐ์—๋„ ์ ์€ ์ฝ”๋“œ๋งŒ์„ ๋ณ€๊ฒฝํ•˜๋ฉด ๋˜๋ฏ€๋กœ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์‰ฌ์›Œ์ง„๋‹ค.

 

 

 

 

 

 

โ—‹ ๋ฉค๋ฒ„๋ณ€์ˆ˜ ์ดˆ๊ธฐํ™” ๋ฐฉ๋ฒ•

  1. ๋ช…์‹œ์  ์ดˆ๊ธฐํ™” (Explicit initialization)

  2. ์ดˆ๊ธฐํ™” ๋ธ”๋Ÿญ (Initialized block)

  3. ์ƒ์„ฑ์ž (Constructor)

  

 

1. ๋ช…์‹œ์  ์ดˆ๊ธฐํ™” 

- ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธ๊ณผ ๋™์‹œ์— ๊ฐ’์„ ๋„ฃ์–ด์ฃผ๋Š” ๊ฒƒ์„ ๋ช…์‹œ์  ์ดˆ๊ธฐํ™”๋ผ๊ณ  ํ•œ๋‹ค.

1
2
3
4
5
6
7
8
public class Con{
 
    int n=0;
    int m=0;
 
        :
        :    
    }
cs

 

2. ์ดˆ๊ธฐํ™” ๋ธ”๋Ÿญ

- ์ดˆ๊ธฐํ™” ๋ธ”๋Ÿญ์—๋Š” ํด๋ž˜์Šค ์ดˆ๊ธฐํ™”๋ธ”๋Ÿญ๊ณผ ์ธ์Šคํ„ด์Šค ์ดˆ๊ธฐํ™” ๋ธ”๋Ÿญ์ด ์žˆ๋Š”๋ฐ ์˜ค๋Š˜์€ ์ธ์Šคํ„ด์Šค ์ดˆ๊ธฐํ™” ๋ธ”๋Ÿญ๋งŒ ๋ณด๊ฒ ๋‹ค.
-์ธ์Šคํ„ด์Šค ์ดˆ๊ธฐํ™” ๋ธ”๋Ÿญ์€ ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜์˜ ์ดˆ๊ธฐํ™”์— ์‚ฌ์šฉ๋œ๋‹ค.

1
2
3
4
5
6
7
8
9
10
11
12
13
public class Con{
 
    int n=0;
    int m=0;
    
 
    n=40;    //---==์—๋Ÿฌ
    
        :
        :
}
 
 
cs

- ํด๋ž˜์Šค ์•ˆ์—์„œ๋Š” ์—ฐ์‚ฐ ๋ฐ ์ฒ˜๋ฆฌ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅ ํ•˜๋‹ค.

1
2
3
4
5
6
7
8
9
10
11
12
13
public class Con{
 
    int n=0;
    int m=0;
    
 
    {//์ดˆ๊ธฐํ™” ๋ธ”๋Ÿญ
        n=20;
        m=40;
                
    }
 
}
cs

- ํ•˜์ง€๋งŒ {}์ดˆ๊ธฐํ™” ๋ธ”๋Ÿญ์—์„œ๋Š” ๊ฐ€๋Šฅํ•˜๋‹ค.
- ์ดˆ๊ธฐํ™” ๋ธ”๋Ÿญ๋‚ด์—์„œ๋Š” ๋ฉ”์„œ๋“œ ์™€ ๊ฐ™์ด ์กฐ๊ฑด๋ฌธ, ๋ฐ˜๋ณต๋ฌธ ๋“ฑ ์„ ์‚ฌ์šฉํ• ์ˆ˜ ์žˆ์–ด์„œ ๋ช…์‹œ์  ์ดˆ๊ธฐํ™”๋กœ ํ• ์ˆ˜ ์—†๋Š” ๋ณต์žกํ•œ      ์ดˆ๊ธฐํ™” ์ž‘์—…์„ ํ• ์ˆ˜ ์žˆ๋‹ค.
- ์ดˆ๊ธฐํ™”๋ธ”๋Ÿญ์€ ์ƒ์„ฑ์ž๋ณด๋‹ค ๋จผ์ € ์ˆ˜ํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ƒ์„ฑ์ž๋ณด๋‹ค ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ๋‹ค.

    → ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋‚ฎ๋‹ค๋Š” ์˜๋ฏธ๋Š” ์ดˆ๊ธฐํ™” ๋ธ”๋Ÿญ์—์„œ ์ดˆ๊ธฐํ™” ํ–ˆ๋‹ค ํ•ด๋„ ์ƒ์„ฑ์ž์—์„œ ๊ฐ’์„ ๋ฐ”๊ฟ”์ฃผ๋ฉด ์ƒ์„ฑ์ž์˜ ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™” ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ƒ์„ฑ์ž์—์„œ์˜            ๊ฐ’์ด ์šฐ์„ ์‹œ ๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

 

- ์ƒ์„ฑ์ž ์ดˆ๊ธฐํ™” ๋ธ”๋Ÿญ ์šฐ์„ ์ˆœ์œ„ ์˜ˆ์‹œ

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
public class Con{
 
    int n;
    int m;
    
    //์ดˆ๊ธฐํ™” ๋ธ”๋Ÿญ initialized block
    {
        n=20;
        m=40;
        System.out.println("์ดˆ๊ธฐํ™” ๋ธ”๋Ÿญ ์‹คํ–‰");
        
    }
    //์ƒ์„ฑ์ž(Constructor)
    Con(){
 
        n=100;
        m=200;
        System.out.println("์ƒ์„ฑ์ž ์‹คํ–‰...");
    }
    Con(int n ,int m){
 
        this.n=n;
        this.m=m;
        System.out.println("๋งค๊ฐœ๋ณ€์ˆ˜ ์žˆ๋Š” ์ƒ์„ฑ์ž ์‹คํ–‰");
    }
 
    void write(){
 
        System.out.println("n :" + n + ", m :" + m );
    }
 
    public static void main(String[] args){
 
        Con ob = new Con();
        ob.write();
        System.out.println();
 
        Con ob2= new Con(12344567);
        ob2.write();
        System.out.println();
 
    }
}

 

์ƒ์„ฑ์ž ์ดˆ๊ธฐํ™”๋ธ”๋Ÿญ ์šฐ์„ ์ˆœ์œ„ ์ถœ๋ ฅ๋ฌธ

 - ์ถœ๋ ฅ๋ฌธ์„ ๋ณด๋ฉด ob1,ob2 ๋‘ ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ ๋  ๋•Œ ๋‘˜๋‹ค ์ƒ์„ฑ์ž๋ณด๋‹ค ์ดˆ๊ธฐํ™” ๋ธ”๋Ÿญ์ด ๋จผ์ € ์‹คํ–‰ ๋œ๋‹ค.
- ์ดˆ๊ธฐํ™” ๋ธ”๋Ÿญ์ด ์‹คํ–‰ ๋˜์—ˆ๋”๋ผ๋„ ์ƒ์„ฑ์ž์—์„œ ๊ฐ’์„ ๋ฐ”๊ฟ” ์ฃผ๊ฒŒ ๋˜๋ฉด ๊ฐ’์€ ์ƒ์„ฑ์ž์˜ ๊ฒƒ์„ ๋”ฐ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์ƒ์„ฑ์ž์˜ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋” ๋†’๋‹ค๊ณ  ํ•˜๋Š”๊ฒƒ์ด๋‹ค.

 

 

? ์—ฌ๊ธฐ์„œ  ์˜๋ฌธ์ ?

Q. ์ƒ์„ฑ์ž์—์„œ๋„ ์ดˆ๊ธฐํ™” ํ• ์ˆ˜ ์žˆ๋Š”๋ฐ ์™œ ์ดˆ๊ธฐํ™” ๋ธ”๋Ÿญ์ด ์žˆ์„๊นŒ?

 A1) ์ดˆ๊ธฐํ™” ๋ธ”๋Ÿญ์—์„œ๋Š” ๋ช…์‹œ์  ์ดˆ๊ธฐํ™”์—์„œ ํ• ์ˆ˜ ์—†๋Š” ๋ณต์žกํ•œ ์ž‘์—…์„ ํ†ตํ•œ ์ดˆ๊ธฐํ™”๋ฅผ ํ• ์ˆ˜ ์žˆ๋‹ค.

 A2) ์ƒ์„ฑ์ž๋“ค์˜ ๊ณตํ†ต์ ์ธ ์ฒ˜๋ฆฌ๋ฅผ ์ดˆ๊ธฐํ™” ๋ธ”๋Ÿญ์— ๋„ฃ์–ด ์ค€๋‹ค๋ฉด ์ฝ”๋“œ์˜ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•ด์ฃผ๊ณ  ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์‰ฌ์›Œ์ง„๋‹ค.

 

 

 

 

+ Recent posts