ํ”ผ๋“œ๋ฐฑ&ํšŒ๊ณ /Weekly Feedback

2023๋…„ 3์›” 5์ฃผ์ฐจ ์ฃผ๊ฐ„ํšŒ๊ณ 

์ฑ”๐Ÿป 2024. 1. 24. 20:07

Time tracker

๊ตฌ๋ถ„๋ชฉํ‘œ์‹œ๊ฐ„์‚ฌ์šฉ์‹œ๊ฐ„๋‹ฌ์„ฑ๋ฅ %์›์ธ๋ถ„์„๋‹ค์Œ ์ฃผ์— ์ ์šฉํ•  ๊ฒƒ
๐Ÿง˜โ€โ™€๏ธ์˜์ 1110.5951์ผ 1ํ˜• ๋“ฃ๊ธฐ๋งŒ ํ•˜๊ณ  ๋ณธ๊นจ์  ์•ˆ ํ•จ
why ๋„ˆ๋ฌด ๊ท€์ฐฎ๊ณ  ๋ถ€๋‹ด์Šค๋Ÿฌ์›Œ์„œ
๊ฑฐ์ฐฝํ•˜๊ฒŒ ํ•˜๋ คํ•˜์ง€ ๋ง๊ณ  ๋”ฑ 1์ค„์”ฉ๋งŒ ์ ๊ธฐ ๊นจ๋‹ฌ์€๊ฑด&๋ณธ๊ฒƒ 1๊ฐœ, ์ ์šฉํ•  ์  1๊ฐœ
โœ๏ธ์ง€์ 7461.583๋ธ”๋กœ๊ทธ ๋งŒ๋“œ๋А๋ผ -12h
์‚ฌํšŒ์ 315500์ €๋… ์•ฝ์† : 3h
๋ธ”๋กœ๊ทธ : 12h

๋ธ”๋กœ๊ทธ ์–ธ์  ๊ฐ€ ๋งŒ๋“ค์–ด์•ผ ๋˜๋Š” ๊ฑฐ๊ธดํ–ˆ๋Š”๋ฐ ์šฐ์„ ์ˆœ์œ„ ๋ฌด์‹œํ•˜๊ณ  ๋‚ด๊ฐ€ ํ•˜๊ณ  ์‹ถ์€ ๊ฒƒ๋งŒ ์šฐ์งœ๋‹ˆ ์‚ฌ์‹ค ๊ณต๋ถ€ํ•˜๊ธฐ ์‹ซ์–ด์„œ ํšŒํ”ผ์šฉ์œผ๋กœ ํ•œ ๊ฒƒ๋„ ์žˆ์Œ (ใ…‹ใ…‹)
์šฐ์„ ์ˆœ์œ„ ๊ฐœ๋… ํ•ญ์ƒ ์ƒ๊ธฐ์‹œํ‚ค๊ธฐ ๋‹ด์ฃผ ์‹œ๊ฐ„๊ธฐ๋ก ํŽ˜์ด์ง€์— ์ ์–ด๋†”์•ผ๊ฒ ๋‹ค
๐Ÿƒโ€โ™€๏ธ์‹ ์ฒด์ 3.5129์ด๋ฒˆ ์ฃผ๋Š” ์ง‘ ์™€์„œ ์ด๊ฒƒ์ €๊ฒƒ ํ•˜๋А๋ผ(๋‹น๊ทผ ๊ฑฐ๋ž˜, ์ฒญ์†Œ, ๊ฐ„์‹ ๋จน๊ธฐ ใ…Ž..) ์‹œ๊ฐ„ ์—†๋‹ค๊ณ  ์•ˆ ํ–ˆ๋‹ค30๋ถ„ โ†’ 10๋ถ„์œผ๋กœ ์ค„์ด๊ธฐ ์•„์˜ˆ ์•ˆ ํ•˜๋Š” ๊ฒƒ๋ณด๋‹จ ๋‚˜์Œ!!! ์ž‘๋”๋ผ๋„ ๊พธ์ค€ํžˆ ํ•˜๋Š” ๊ฒŒ ์˜๋ฏธ์žˆ๋”ฐ
๐ŸŒ”์ž 4949100์š”์ƒˆ 10๋ถ„ 20๋ถ„์”ฉ ๋Šฆ๊ฒŒ ์ž๋Š”๊ฒŒ ์ด๊ฒŒ ์กฐ๊ธˆ์”ฉ ์Œ“์ด๋‹ˆ๊นŒ ์ ์  ํ”ผ๊ณคํ•ด์ง„๋‹ค. freedom ๋„๋ฉ”์ธ ์ฐจ๋‹จ,, ํ™•์ธ..49์‹œ๊ฐ„ ์œ ์ง€
๐Ÿงน๊ธฐํƒ€2429121

์‹œ๊ฐ„๊ธฐ๋ก

Weekly Feedback

์ด๋ฒˆ ์ฃผ ๋ชฉํ‘œ์ด๋ฒˆ ์ฃผ ๊ฒฐ๊ณผ
<์ž๋ฐ”์˜ ์ •์„ 7~11์ฑ•ํ„ฐ ๋๋‚ด๊ธฐ>
1. 10์žฅ ์—ฐ์Šต๋ฌธ์ œ ํ’€๊ธฐ
2. 11์žฅ ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ
3. 12์žฅ ์ง€๋„ค๋ฆญ์Šค, ์—ด๊ฑฐํ˜•, ์• ๋„ˆํ…Œ์ด์…˜
4. 13์žฅ ์“ฐ๋ ˆ๋“œ(Thread)
5. 14์žฅ ๋žŒ๋‹ค์™€ ์ŠคํŠธ๋ฆผ
๋‹ฌ์„ฑ๋ฅ  : 70%

1. 10์žฅ ์—ฐ์Šต๋ฌธ์ œ ํ’€๊ธฐ

2. 11์žฅ ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ

3. 12์žฅ ์ง€๋„ค๋ฆญ์Šค, ์—ด๊ฑฐํ˜•, ์• ๋„ˆํ…Œ์ด์…˜

4. 13์žฅ ์“ฐ๋ ˆ๋“œ(Thread)(๊ธฐ์ดˆํŽธ ์ง„๋„๊นŒ์ง€๋Š” ์™„๋ฃŒ.. 5/10)

5. 14์žฅ ๋žŒ๋‹ค์™€ ์ŠคํŠธ๋ฆผ

์›์ธ ๋ถ„์„

  • ๋ธ”๋กœ๊ทธ ๋งŒ๋“œ๋А๋ผ 12h ๋ชป ์ผ๋‹ค. ๊ทธ๋ž˜๋„ 14์žฅ์€ ๋ชป ๋๋ƒˆ์„ ๋“ฏ ์ ์ •ํ•œ ์ˆ˜์ค€์˜ ๋ชฉํ‘œ๋ฅผ ์„ธ์šฐ๋Š” ๊ฒŒ ์ฐธ ์–ด๋ ค์šด ๊ฒƒ ๊ฐ™๋‹ค.

์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์„ฑ๊ณต๊ณผ ์‹คํŒจ

์˜ˆ์„ฑ

  • ์ €๋ฒˆ ์ฃผ์— ํ–ˆ๋˜ MyVector ๊ตฌํ˜„์„ ์ด๋ฒˆ ์ฃผ ๊ณผ์ œ๋กœ ๋‚ด์ฃผ์…”์„œ ํ•œ ๋ฒˆ๋” ํ•ด๋ดค๋‹ค. ์ €๋ฒˆ ์ฃผ์™€ ๊ฐ™์ด ๋ณด๊ณ  ๋”ฐ๋ผ์น˜๊ธฐ๋งŒ ํ•˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ณด๊ณ  ๋‚ด๊ฐ€ ์ง์ ‘ ๊ตฌํ˜„ํ•˜๋Š” ๊ฑฐ๋ผ ๋” ๊ธฐ์–ต์— ์ž˜ ๋‚จ๊ณ  ์ดํ•ด๋„๋„ ๋‹ฌ๋ž๋‹ค.

    ๊ทธ๋ƒฅ ์š”๊ตฌ์‚ฌํ•ญ๋งŒ ๋ดค์„ ๋•Œ๋Š” ๊ฐ„๋‹จํ•ด๋ณด์˜€๋Š”๋ฐ ์ƒ๊ฐ๋ณด๋‹ค ๊ณ ๋ คํ•  ์š”์†Œ๋“ค์ด ๋งŽ์•˜๋‹ค. null๊ฐ’์ด ๋“ค์–ด์˜จ๋‹ค๋˜์ง€ remove ๋งˆ์ง€๋ง‰ ์š”์†Œ๋ฅผ ์‚ญ์ œ ํ•  ๋•Œ๋Š” ๋ฐฐ์—ด ๋ณต์‚ฌ๋ฅผ ํ•˜์ง€ ์•Š๋Š”๋‹ค๋˜์ง€ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ ๋ฐฐ์—ด์˜ capacity๊ฐ€ ๋‹ค ์ฐผ๋Š”์ง€ ํ•ญ์ƒ ์ฒดํฌํ•ด์„œ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•ด์„œ ๋ณต์‚ฌํ•ด ๋ฐ˜ํ™˜ํ•ด์ค˜์•ผ ํ•˜๋Š” ๊ฒƒ, ๋ฐฐ์—ด ๋ณต์‚ฌํ•  ๋•Œ๋Š” for๋ฌธ์ด ์•„๋‹ˆ๋ผ System.arraycopy(์†๋„๊ฐ€ ๋” ๋น ๋ฆ„)๋ฅผ ์จ์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ ๋“ฑ๋“ฑ..

    ๋ฐฐ์—ด์ด๋ผ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์— ๋Œ€ํ•ด ๋” ์ž˜ ์ดํ•ดํ•˜๊ฒŒ ๋œ ๊ฒƒ ๊ฐ™๊ณ  ์žฌ๋ฐŒ์—ˆ๋‹ค. 16์žฅ๊นŒ์ง€ ๋๋‚ด๋ฉด linkedList๋ž‘ HashMap, TreeSet๋„ ์ง์ ‘ ๊ตฌํ˜„ํ•ด๋ณด๊ธฐ!

    • MyVector
      package ch12;
      
      import java.util.ArrayList;
      import java.util.Arrays;
      
      public class MyVector {
          private Object[] objArr;
          private static final int DEFAULT_CAPACITY = 16;
          private int capacity; // ์šฉ๋Ÿ‰
          private int size;     // ๊ฐ์ฒด์˜ ๊ฐœ์ˆ˜
      
          MyVector() {
              this(DEFAULT_CAPACITY);
          }
      
          MyVector(int capacity) {
              this.capacity = capacity;
              objArr = new Object[capacity];
          }
      
          // ๊ฐ์ฒด์˜ ๊ฐœ์ˆ˜ ๋ฐ˜ํ™˜
          public int size() {
              return size;
          }
      
          public int capacity() {
              return capacity;
          }
      
          // ๊ฐ์ฒด ๋ฐฐ์—ด์ด ๋น„์—ˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค
          public boolean isEmpty() {
              return capacity < 1;
          }
      
          /**
           * ๊ธฐ๋Šฅ : ๊ฐ์ฒด๋ฐฐ์—ด objArr์— ๊ฐ์ฒด๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฉ”์„œ๋“œ
           * ๋ฉ”์„œ๋“œ๋ช… : add
           * ๋ฐ˜ํ™˜ํƒ€์ž… : void
           * ๋งค๊ฐœ๋ณ€์ˆ˜ : Object obj
           */
          public void add(Object obj) {
              // objArr ์šฉ๋Ÿ‰์ด ๋‹ค ์ฐจ์ง€ ์•Š์•˜์„ ๋•Œ๋งŒ ๊ฐ์ฒด๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.
              if (objArr.length == size) {
                  objArr = grow(); // // ์šฉ๋Ÿ‰์„ ๋Š˜๋ฆฐ๋‹ค.(+16)
              }
              objArr[size++] = obj;
          }
      
          /**
           * ๊ธฐ๋Šฅ : ๋ฐฐ์—ด์ด ๋‹ค ์ฐผ์„ ๊ฒฝ์šฐ DEFAULT_CAPACIT Y(16)๋งŒํผ ๊ธธ์ด๋ฅผ ๋Š˜๋ฆฐ ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•ด์ค€๋‹ค.
           * ๋ฉ”์„œ๋“œ๋ช… : grow()
           * ๋ฐ˜ํ™˜ํƒ€์ž… : Object[]
           * ๋งค๊ฐœ๋ณ€์ˆ˜ : ์—†์Œ
           */
          public Object[] grow() {
              /**
               * 1. ํ˜„์žฌ ๋ฐฐ์—ด์˜ capacity๋ณด๋‹ค + DEFAULT_CAPACITY(16)ํ•œ Object ๋ฐฐ์—ด tmp๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
               * 2. objArr์˜ ๋‚ด์šฉ์„ tmp์— ๋ณต์‚ฌํ•œ๋‹ค.
               * 3. tmp์˜ ์ฃผ์†Œ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
               */
              capacity = size + DEFAULT_CAPACITY;
              Object[] tmp = new Object[capacity];
              System.arraycopy(objArr, 0, tmp, 0, size);
      
              return tmp;
          }
      
          /**
           * ๊ฐ์ฒด๋ฐฐ์—ด objArr์— ์ €์žฅ๋œ ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” Object get(index)๋ฅผ ์ž‘์„ฑ
           */
          public Object get(int index) {
              // index๊ฐ€ ์œ ํšจํ•œ ๊ฐ’์ด์–ด์•ผ ํ•œ๋‹ค.
              // index๊ฐ€ 0๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ size๋ž‘ ๊ฐ™๊ฑฐ๋‚˜ ํด ๊ฒฝ์šฐ
              // 0 <= index < size
      
              if (!(0 <= index && index < size))
                  throw new IndexOutOfBoundsException("์œ ํšจํ•œ ๊ฐ’์ด ์•„๋‹™๋‹ˆ๋‹ค.");
      
              return objArr[index];
          }
      
          /**
           * ๊ธฐ๋Šฅ : ๊ฐ์ฒด ๋ฐฐ์—ด objArr์—์„œ ์ง€์ •๋œ ๊ฐ์ฒด๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋Š” ์œ„์น˜(index)๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” int indexOf(Object obj)๋ฅผ ์ž‘์„ฑํ•˜์‹œ์˜ค.
           * ex) "๊ฐ€", "๋‚˜", "๋‹ค"๋ฅผ ์ž…๋ ฅํ–ˆ์œผ๋ฉด "๋‚˜"๋ฅผ ์ž…๋ ฅ๋ฐ›์„ ๊ฒฝ์šฐ 1์„ ๋ฐ˜ํ™˜ํ•ด์ค˜์•ผํ•จ
           * ๋ฉ”์„œ๋“œ๋ช… : indexOf
           * ๋งค๊ฐœ๋ณ€์ˆ˜ : Object obj
           * ๋ฐ˜ํ™˜ํƒ€์ž… : int
           */
          public int indexOf(Object obj) {
              /**
               * ๊ฐ์ฒด ๋ฐฐ์—ด objArr์—์„œ obj๋ฅผ ์ฐพ์•„์•ผ ํ•œ๋‹ค.
               * objArr ๊ธธ์ด๋งŒํผ์˜ ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ฉด์„œ objArr[i]์™€ obj๊ฐ€ ๊ฐ™์€ ๊ฐ’์„ ์ฐพ์•„์•ผ ํ•จ
               */
              for (int i = 0; i < size; i++) {
                  if (obj == null) {
                      if (objArr[i] == null) return i;
                  } else {
                      if (obj.equals(objArr[i])) return i; // objArr[i]์˜ equals๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฑฐ์ž„ ๋“ค์–ด๊ฐ€์žˆ๋Š” ๊ฐ’์ด ์ •์ˆ˜๋ฉด Integer.equals
                  }
              }
              return -1;
          }
          
          /**
           * ๊ธฐ๋Šฅ : ๊ฐ์ฒด๋ฐฐ์—ด objArr์—์„œ ์ง€์ •๋œ ๊ฐ์ฒด๋ฅผ ์‚ญ์ œํ•˜๋Š” boolean remove(Object obj)๋ฅผ ์ž‘์„ฑํ•˜์‹œ์˜ค.(indexOf()๋ฅผ ์ด์šฉํ•  ๊ฒƒ)
           *       +) ๋งŒ์•ฝ ์‚ญ์ œํ•˜๋ ค๋Š” ๋ฐ์ดํ„ฐ๊ฐ€
           * ๋ฉ”์„œ๋“œ๋ช… : remove
           * ๋งค๊ฐœ๋ณ€์ˆ˜ : Object obj
           * ๋ฐ˜ํ™˜ํƒ€์ž… : boolean
           */
          public Object remove(Object obj) {
              int idx = indexOf(obj);
              if (idx != size - 1) {
                  System.arraycopy(objArr, idx + 1, objArr, idx, size - idx - 1);
              }
              objArr[size - 1] = null; // ๋งŒ์•ฝ์— size๊ฐ€ 5์—์„œ 4๋กœ ๋ณ€๊ฒฝ์ด ๋˜์—ˆ๋Š”๋ฐ,,
              size--;
      
              return objArr[idx];
          }
      
      
          @Override
          public String toString() {
              return "objArr=" + Arrays.toString(objArr) +
                      ", capacity=" + capacity +
                      ", size=" + size;
          }
      
          public static void main(String[] args) {
              ArrayList test2 = new ArrayList();
              test2.add(null);
              test2.add(3);
      
              System.out.println("test2.indexOf(3) = " + test2.indexOf(3));
      
              MyVector test = new MyVector(1);
              test.add(null);
              test.add(3);
              System.out.println("test.indexOf(3) = " + test.indexOf(3));
              System.out.println("test.indexOf(null) = " + test.indexOf(null));
          }
      
      }
  • vim

    ๋‚ด๊ฐ€ ๊ทนํ•œ์˜ ํšจ์œจ์„ ์ถ”๊ตฌํ•˜๋Š” ์‚ฌ๋žŒ์ธ ๊ฑธ ์–ด๋–ป๊ฒŒ ์•„์‹œ๊ณ  ์„ ์ƒ๋‹˜๊ป˜์„œ vim ์จ๋ณด๋ฉด ์ข‹์•„ํ•  ๊ฒƒ ๊ฐ™๋‹ค๊ณ  ์•Œ๋ ค์ฃผ์…จ๋‹ค ใ…‹ใ…‹ vim์˜ ์กด์žฌ๋Š” ์•Œ๊ณ  ์žˆ์—ˆ์ง€๋งŒ ๋”ฑํžˆ ์จ๋ณผ ์ƒ๊ฐ์€ ๋“ค์ง€ ์•Š์•˜์—ˆ๋Š”๋ฐ ์จ๋ณด๋‹ˆ ์™„์ „ ์‹ ์„ธ๊ณ„์ž„..!

    1. ํ‚ค ์กฐํ•ฉํ•ด์„œ ์“ธ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ
    1. ํ˜„์žฌ ์‚ฌ์šฉ ์ค‘์ธ ํ‚ค๋ณด๋“œ ์œ„ ์•„๋ž˜ ์ด๋™ ํ‚ค์ž‘์•„์„œ ์ด๋™ํ•  ๋•Œ๋งˆ๋‹ค ๋ถˆํŽธํ–ˆ์—ˆ๋Š”๋ฐ hjkl๋กœ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ์–ด์„œ ๋„ˆ๋ฌด ์ข‹๋‹ค
    1. ์†์ด ๋งˆ์šฐ์Šค๋กœ ๊ฐ€์ง€ ์•Š์•„์„œ ํ๋ฆ„์ด ๋Š๊ธฐ์ง€ ์•Š์Œ

    ์ง€๊ธˆ์€ ์ ์‘ ๋‹จ๊ณ„๋ผ ๋š๋”ฑ๋Œ€์ง€๋งŒ ์ต์ˆ™ํ•ด์ง€๋ฉด ์ƒ์‚ฐ์„ฑ ์žฅ๋‚œ ์•„๋‹ ๊ฒƒ ๊ฐ™๋‹ค

  • CS ์šฐ์„ ์ˆœ์œ„

    CS ์ง€์‹ ๋ถ€์กฑํ•œ๊ฒŒ ์ปดํ”Œ๋ ‰์Šค์˜€๋Š”๋ฐ,, ๋‚˜ํ•œํ…Œ ์ •๋ง ํ•„์š”ํ–ˆ๋˜ ๊ณต๋ถ€ ์šฐ์„ ์ˆœ์œ„์— ๋Œ€ํ•ด ์•Œ๋ ค์ฃผ์…จ๋‹ค.

    1. ์ž๋ฃŒ๊ตฌ์กฐ : ํˆฌ์ž ๋Œ€๋น„ ์•„์›ƒํ’‹์ด ์ œ์ผ ์ข‹๊ณ  ์šฐ์„ ์ˆœ์œ„ ๋†’์Œ. ๊พธ์ค€ํžˆ ํ‹ˆํ‹ˆํžˆ ๋ด์•ผ ํ•œ๋‹ค. ์ž๋ฐ”์˜ ์ •์„ 11์žฅ์ด ์ž๋ฃŒ๊ตฌ์กฐ์˜ ๊ธฐ์ดˆ๊ฐ€๋จ
    1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
    1. ๋„คํŠธ์›Œํฌ
    1. ์šด์˜์ฒด์ œ : ์ƒ์‹ ์ˆ˜์ค€์œผ๋กœ๋งŒ ๋ณด๋ฉด๋˜๊ณ  ๋„ˆ๋ฌด ๊นŠ๊ฒŒ ๋ณด๋ฉด ์•ˆ๋จ, ์žฅ๊ธฐ์ ์œผ๋กœ ์กฐ๊ธˆ์”ฉ ๋ณด๊ธฐ

๊ธˆ์ฃผ์— ๋ฐฐ์šด ๊ฒƒ๋“ค

Object ํด๋ž˜์Šค์˜ ๋ฉ”์„œ๋“œ๊ฐ€ iv๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋ฐ static ๋ฉ”์„œ๋“œ๊ฐ€ ์•„๋‹Œ ์ด์œ 

  1. ์ž์†๋“ค์ด ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•ด์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ
  1. equals ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ์ฐธ์กฐ๋ณ€์ˆ˜ this(iv)๋ฅผ ์‚ฌ์šฉํ•จ

๋ฉ”๋ชจ๋ฆฌ์˜ ์—ญํ• 

์ €์žฅ๊ณต๊ฐ„ โ†’ ๊ฐ’์„ ์ฝ๊ณ  ์“ฐ๊ธฐ ์œ„ํ•œ ๊ณต๊ฐ„

์ž‘์—…์„ ํ•˜๋ ค๋ฉด ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๊ณ  ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋‹ค ์ฐจ๋ฉด ์ž‘์—…์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

๋ฉ”๋ชจ๋ฆฌ๋Š” ๋ณ€์ˆ˜ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด์„œ ์“ธ ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์ž„

์–•์€ ๋ณต์‚ฌ์™€ ๊นŠ์€ ๋ณต์‚ฌ์˜ ์ฐจ์ด

์–ด๋–จ ๋•Œ ์”Œ์ด๊ณ  ๋‘ ๊ฐœ์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด์„œ ์ •ํ™•ํ•˜๊ฒŒ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•จ

  • ์–•์€ ๋ณต์‚ฌ : ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๊ณ  ๊ณต์œ ํ•  ๋ชฉ์ ์ด๋ฉด ์–•์€ ๋ณต์‚ฌ, ์ฝ๊ธฐ๋งŒ ํ•  ๋•Œ
  • ๊นŠ์€ ๋ณต์‚ฌ : ์ฝ๊ธฐ ์“ฐ๊ธฐ ํ•  ๋•Œ๋Š” ๊นŠ์€ ๋ณต์‚ฌ

๋ฆฌํ”Œ๋ ‰์…˜ API

  1. ์ •๋ณด : Annotation, Field, Method ๋“ฑ์˜ ์ •๋ณด ๊ฒ€์ƒ‰

    ๋ฉ”์„œ๋“œ๊ฐ€ ๋ช‡ ๊ฐ ์ง€ ์—๋„ˆํ…Œ์ด์…˜์ด ๋ถ™์—ˆ๋Š”์ง€, ๋ฐ˜ํ™˜ํƒ€์ž…์ด ๋ญ”์ง€ ์ด๋Ÿฐ ์ •๋ณด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

  1. ๊ฐ์ฒด ์ƒ์„ฑ
    • Class ๊ฐ์ฒด

      class์˜ ์ •๋ณด๊ฐ€ ๋‹ด๊ฒจ์žˆ๋‹ค. ํด๋ž˜์Šค ๋กœ๋”๊ฐ€ ๋‚ด์šฉ์„ ์ฝ์–ด์„œ ์„ค๊ณ„๋„๋„ ๊ฐ์ฒด ํ˜•ํƒœ๋กœ ๋งŒ๋“ ๋‹ค. why? ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์—์„œ ์“ธ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด

    Class carClass = CLass.forName("Car");
    Car car = new Car();

    ๋ฆฌํ”Œ๋ ‰์…˜ api๋ฅผ ์ด์šฉํ•˜๋ฉด ๊ฐ์ฒด ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•  ๋•Œ ์ฝ”๋“œ๋ฅผ ๊ณ ์น˜์ง€ ์•Š๊ณ  ๊ฐ์ฒด ๋ณ€๊ฒฝ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.(๋™์  ์ƒ์„ฑ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.) ์ปดํŒŒ์ผ ๋‹ค์‹œ ํ•  ํ•„์š”๋„ ์—†์Œ

    oop๋ฅผ ํ•˜๋Š” ์ด์œ ๋Š” ๋ณ€๊ฒฝ์— ์œ ๋ฆฌํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ํ•˜๋Š” ๊ฒƒ(์ฝ”๋“œ๋ฅผ ๋œ ๊ณ ์น˜๋Š” ๊ฒƒ) ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ ‡๊ฒŒ ํ•จ

    ์Šคํ”„๋ง์ด ์ด๋ ‡๊ฒŒ ๋ฆฌํ”Œ๋ ‰์…˜ API๋ฅผ ์ด์šฉํ•ด์„œ ๋งŒ๋“ค์–ด์ ธ์žˆ๋‹ค.

  1. ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ

๋ถˆ๋ณ€

ํ•จ์ˆ˜ํ˜• ์–ธ์–ด์—์„œ๋Š” ๋ถˆ๋ณ€์„ ๊ต‰์žฅํžˆ ์ค‘์š”ํ•˜๊ฒŒ ์ƒ๊ฐํ•œ๋‹ค.

๋ถˆ๋ณ€์ด๋ฉด ์ƒ์ˆ˜๋‹ˆ๊นŒ ์†๋„๊ฐ€ ๋น ๋ฅธ ์–•์€ ๋ณต์‚ฌ๋ฅผ ํ•˜๋ฉด๋จ

์ •๊ทœ์‹

  • ๊ธฐ๋ณธ์ ์ธ ๊ฒƒ๋“ค ์‚ฌ์šฉ๋งŒ ํ•  ์ค„ ์•Œ๋ฉด ๋„˜์–ด๊ฐ€๋„๋จ ๊นŠ๊ฒŒ ๋ณผ ํ•„์š” X ์šฐ๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ์ •๊ทœ์‹๋“ค์€ ์ด๋ฏธ ์ธํ„ฐ๋„ท์— ์ฐพ์œผ๋ฉด ๋‹ค ๋‚˜์˜ด
  • ํฌ๋กค๋ง์— ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค๊ณ ํ•จ

!

ํŠน์ • ์‚ฐ์—…์„ ์ญ‰ ๋ฐ€๊ณ ๊ฐ€๋Š” ๊ฒŒ ์ข‹๋‹ค. ์—…๋ฌด๋ฅผ ์ž˜ ์•„๋Š” ๊ฒƒ์ด ๊ฒฝ์Ÿ๋ ฅ์ž„.

์ฐจ์ฃผ ๋ชฉํ‘œ

๊ตฌ๋ถ„์ฐจ์ฃผ ๋ชฉํ‘œ
โœ๏ธ์ง€์ <์ž๋ฐ”์˜ ์ •์„ 13~16์žฅ ๋๋‚ด๊ธฐ>
1. 13์žฅ ์“ฐ๋ ˆ๋“œ
2. 14์žฅ ๋žŒ๋‹ค์™€ ์ŠคํŠธ๋ฆผ
3. 15์žฅ ์ž…์ถœ๋ ฅ(I/O)
4. 16์žฅ ๋„คํŠธ์›Œํ‚น
๐Ÿง˜โ€โ™€๏ธ์˜์ 1์ผ 1ํ˜• ๋ณธ๊นจ์  ๋…ธ์…˜์— ๊ธฐ๋ก(ํ‰์ผ 7:00~8:00)
๐Ÿƒโ€โ™€๏ธ์‹ ์ฒด์ ๋งค์ผ ์˜คํ›„ 10:40~10:50 ํผ๋กค๋Ÿฌ ์ŠคํŠธ๋ ˆ์นญ

Uploaded by N2T