[ํ‚ค์˜ค์Šคํฌ ๋งŒ๋“ค๊ธฐ-2][ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…] Level 2: ๋ฆฌ์ŠคํŠธ์™€ ์ƒ์„ฑ์ž ์‚ฌ์šฉ ์‹œ ๋ฐœ์ƒํ•œ ๋ฌธ์ œ๋“ค

2025. 3. 10. 17:01ยท๋‚ด์ผ๋ฐฐ์›€์บ ํ”„/๋ณธ์บ ํ”„ ๊ณผ์ œ

(Level 2) ํ–„๋ฒ„๊ฑฐ ๋ฉ”๋‰ด๋ฅผ MenuItem ํด๋ž˜์Šค์™€ List๋กœ ์ž‘์„ฑํ•˜๋ฉด์„œ ๋ฐœ์ƒํ•œ troubleshooting


๐Ÿ’ฅ ๋ฌธ์ œ2. ๋ฆฌ์ŠคํŠธ์™€ ์ƒ์„ฑ์ž ์‚ฌ์šฉ ์‹œ ๋ฐœ์ƒํ•œ ๋ฌธ์ œ (๊ฐœ๋… ๋ถ€์กฑ)

๐Ÿคฏ ๋‚˜์˜ ์ƒํ™ฉ

๊ณผ์ œ ๊ฐ€์ด๋“œ์—
Mainํ•จ์ˆ˜์—์„œ MenuItem ํด๋ž˜์Šค๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํ–„๋ฒ„๊ฑฐ ๋ฉ”๋‰ด๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.
- MenuItem ๊ฐ์ฒด ์ƒ์„ฑ์„ ํ†ตํ•ด ์ด๋ฆ„, ๊ฐ€๊ฒฉ, ์„ค๋ช…์„ ์„ธํŒ…ํ•ฉ๋‹ˆ๋‹ค. (ํ‚ค์›Œ๋“œ: new)
- List๋ฅผ ์„ ์–ธํ•˜์—ฌ ์—ฌ๋Ÿฌ MenuItem์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. (List<MenuItem> menuItems = new ArrayList<>();
๋ผ๋Š” ๋‚ด์šฉ์ด ์žˆ๋Š”๋ฐ.. ๋ถ€๋„๋Ÿฝ์ง€๋งŒ ์ด ๋ฌธ์žฅ ์ž์ฒด๊ฐ€ ์ดํ•ด๊ฐ€ ์•ˆ๋๋‹ค.
List๋ฅผ ์–ด๋””๋‹ค๊ฐ€ ์„ ์–ธํ•˜๋Š”๊ฑฐ์ง€? MenuItem์— ๋ฉ”๋‰ด ์ •๋ณด๋ฅผ ๋‹ค ์ €์žฅํ•˜๋Š” ๊ฑฐ ์•„๋‹ˆ์˜€๋‚˜? ๋ผ๋Š” ์˜๋ฌธ์„ ๊ฐ€์ง€๋ฉฐ ๋ฉ”์ธ์— ๋ฆฌ์ŠคํŠธ๋ฅผ ์„ ์–ธํ•˜๊ธด ํ–ˆ๋Š”๋ฐ, ๊ฐœ๋…์ด ์•ˆ์žกํžŒ ์ƒํƒœ๋กœ ๋ƒ…๋‹ค ์ž‘์„ฑํ•ด๋ฒ„๋ฆฌ๋‹ˆ ๋‹ค์Œ ๋‹จ๊ณ„์—์„œ ๋ฐ”๋กœ ๋ง‰ํ˜€๋ฒ„๋ ธ๋‹ค.

 

๐Ÿฅธ ๋ฌธ์ œ ์ƒํ™ฉ

โœ”๏ธ MenuItem์€ ๋‹จ์ˆœํžˆ ๋ฉ”๋‰ด ํ•ญ๋ชฉ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐœ๋ณ„ ๊ฐ์ฒด์ด๊ณ , ์ด๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฉ”๋‰ด์— ๋Œ€ํ•œ ๊ฐ์ฒด๋“ค์„ ๋”ฐ๋กœ ๋งŒ๋“ค์–ด์„œ
ใ€€  ์—ฌ๋Ÿฌ ๊ฐœ์˜ MenuItem ๊ฐ์ฒด๋ฅผ ๋‹ด๋Š” List(List<MenuItem>)๋Š” ๋”ฐ๋กœ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค. ๋Š” ์‚ฌ์‹ค์„ ๋ชฐ๋ž์Œ

โœ”๏ธ ์ฆ‰, MenuItem ๊ฐ์ฒด์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ List๋ฅผ ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, List๋ฅผ ํ™œ์šฉํ•ด ๊ฐ์ฒด๋ฅผ ์ €์žฅํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
โœ”๏ธ MenuItem ํด๋ž˜์Šค๋ฅผ ๋‹จ์ˆœ ๊ฐ์ฒด๋กœ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”๋ฐ, ๋ฆฌ์ŠคํŠธ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•ด์„œ ์˜ค๋ฅ˜ ๋ฐœ์ƒ

 

๐Ÿ”ฅ ๋ฌธ์ œ ์ฝ”๋“œ

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    MenuItem menuItem = new MenuItem(); // โŒ ์ƒ์„ฑ์ž์˜ ๊ฐœ๋…์„ ์ดํ•ดํ•˜์ง€ ๋ชปํ•ด ์ž‘์„ฑํ•œ ์ž˜๋ชป๋œ ์ฝ”๋“œ

    // ํ–„๋ฒ„๊ฑฐ ์ด๋ฆ„,๊ฐ€๊ฒฉ,์„ค๋ช… ์„ธํŒ…
    List<MenuItem> burgerMenuItem = new ArrayList<>();
    burgerMenuItem.add("ShackBurger", 6.9, "ํ† ๋งˆํ† , ~๊ฐ€ ํ† ํ•‘๋œ ์น˜์ฆˆ๋ฒ„๊ฑฐ"); // โŒ add ์‚ฌ์šฉ๋ฐฉ์‹ ์˜ค๋ฅ˜

ใ€€

public class MenuItem {
     // 1.์†์„ฑ
     String name;
     double price;
     String detail;
 
 
     // 2.์ƒ์„ฑ์ž
     MenuItem(String name, double price, String detail) {
         this.name = name;
         this.price = price;
         this.detail = detail;
     }

๐Ÿ’ข ์ƒ์„ฑ์ž ์ž‘์„ฑํ•˜๋Š”๋ฐ๋„ ๋ฌธ์ œ๊ฐ€ ๋˜ ๋ฐœ์ƒํ•จ.. ์•ฝ๊ฐ„ ์ฐฝํ”ผํ•˜์ง€๋งŒ ๊ทธ ๋‚ด์šฉ์€ ๋ฌธ์ œ3์— ์ด์–ด์„œ ์ž‘์„ฑํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.....

 

๐Ÿช„ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

main()์—์„œ ํ–„๋ฒ„๊ฑฐ์˜ ์ •๋ณด๋ฅผ ๋‹ด์„ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๊ณ , List<ManuItem>์—  ๊ฐ ํ–„๋ฒ„๊ฑฐ(new MenuItem ๊ฐ์ฒด)๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.

 

๐Ÿ’ง ํ•ด๊ฒฐ ์ฝ”๋“œ

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

	// โ˜‘๏ธ ํ–„๋ฒ„๊ฑฐ ๊ฐ์ฒด ์ •๋ณด๋ฅผ ์ €์žฅํ• ๋ฆฌ์ŠคํŠธ ์„ ์–ธ
    List<MenuItem> burgers = new ArrayList<>(); 

    // โ˜‘๏ธ new MenuItem ์‚ฌ์šฉํ•˜์—ฌ burgerMenu ๋ฆฌ์ŠคํŠธ์— add (๊ฐ์ฒด ์ƒ์„ฑ & List ์ถ”๊ฐ€)
    burgerMenu.add(new MenuItem("ShackBurger", 6.9, "ํ† ๋งˆํ† , ์–‘์ƒ์ถ”, ์‰‘์†Œ์Šค๊ฐ€ ํ† ํ•‘๋œ ์น˜์ฆˆ๋ฒ„๊ฑฐ"));
    burgerMenu.add(new MenuItem("CheeseBurger", 5.9, "์น˜์ฆˆ๊ฐ€ ์ถ”๊ฐ€๋œ ๊ธฐ๋ณธ ๋ฒ„๊ฑฐ"));

โœ๏ธ List<MenuItem> ์œผ๋กœ ๋ฆฌ์ŠคํŠธ๊ฐ€ ๋‹ค๋ฃฐ ๊ฐ์ฒด์˜ ํƒ€์ž…์„ ์ง€์ •ํ•œ๋‹ค. (MenuItem ๊ฐ์ฒด๋“ค์„ ์ €์žฅํ•˜๋Š” ๋ฆฌ์ŠคํŠธ๋ผ๋Š” ๋œป)

โœ๏ธ ๋ฆฌ์ŠคํŠธ ์ƒ์„ฑ ํ›„, add๋ฅผ ํ†ตํ•ด ํ–„๋ฒ„๊ฑฐ ๊ฐ์ฒด๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.


๐Ÿ’ฅ ๋ฌธ์ œ3. setter์™€ ์ƒ์„ฑ์ž์˜ ์šฉ๋„๋ฅผ ํ—ท๊ฐˆ๋ฆผ

๐Ÿคฏ ๋‚˜์˜ ์ƒํ™ฉ

์˜ˆ.. ์ €๋Š” ํด๋ž˜์Šค์— ๊ฐ’์„ ๋„ฃ๋Š”๋‹ค = setter ํ™œ์šฉ! ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ด๋ฒ„๋ ค์„œ MenuItem ํด๋ž˜์Šค์—์„œ ์ƒ์„ฑ์ž๋Š” ์ง€๋‚˜์น˜๊ณ  ๋ฌด์ž‘์ • getter ๋ฉ”์†Œ๋“œ๋ฅผ ๋งŒ๋“ค์–ด ๋ฒ„๋ ธ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๊ณ  ๋ญ”๊ฐ€ ์ด์ƒํ•˜๋‹จ๊ฑธ ๋А๊ผˆ์–ด์š”.

 

๐Ÿฅธ ๋ฌธ์ œ ์ƒํ™ฉ

โœ”๏ธ ์ƒ์„ฑ๋œ, ์„ ์–ธ๋œ ๊ฐ์ฒด ์—†์ด setter๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ–ˆ์Œ
โœ”๏ธ ์ƒ์„ฑ์ž์˜ ์ •ํ™•ํ•œ ์šฉ๋„๋ฅผ ์ธ์ง€ํ•˜์ง€ ๋ชปํ•จ

 

๐Ÿ”ฅ ๋ฌธ์ œ ์ฝ”๋“œ

 // 3.๊ธฐ๋Šฅ
void setMenu(String name, double price, String detail) {
    this.name = name;
    this.price = price;
    this.detail = detail;
}

๐Ÿ’ข ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋กœ ๋‘๊ณ  setter๋ฅผ ๋งŒ๋“ค์–ด๋ฒ„๋ฆผ

 

๐Ÿช„ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

์ƒ์„ฑ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ ๊ฐ’์„ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค.

 

๐Ÿ’ง ํ•ด๊ฒฐ ์ฝ”๋“œ

 // 2.์ƒ์„ฑ์ž
MenuItem(String name, double price, String detail) {
    this.name = name;
    this.price = price;
    this.detail = detail;
}

โœ๏ธ ์ƒ์„ฑ์ž ์‚ฌ์šฉ ์ฝ”๋“œ๋Š” ๋ณธ ๊ฒŒ์‹œ๊ธ€ ๋ฌธ์ œ2 ํ•ด๊ฒฐ์ฝ”๋“œ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅ


๐Ÿ’ฅ ๋ฌธ์ œ4. ๋ณ€์ˆ˜๋ช…์„ ์ž˜๋ชป ์‚ฌ์šฉํ•˜์—ฌ List์—์„œ ๊ฐ์ฒด๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ ์˜ค๋ฅ˜ ๋ฐœ์ƒ

๐Ÿคฏ ๋‚˜์˜ ์ƒํ™ฉ

ํ–ฅ์ƒ๋œ for๋ฌธ์œผ๋กœ List์— ์ €์žฅ๋œ ๊ฐ์ฒด์˜ ์†์„ฑ์„ ๋ถˆ๋Ÿฌ์˜ค๊ณ  ์‹ถ์€๋ฐ ์—๋Ÿฌ ๋ฐœ์ƒ
์ง€๊ธˆ ๋ณด๋ฉด ํ—ˆ๋ฌดํ•˜์ง€๋งŒ ์ด๋•Œ์˜ ๋‚˜๋Š” ์‹ฌ๊ฐํ–ˆ๋‹ค

 

๐Ÿฅธ ๋ฌธ์ œ ์ƒํ™ฉ

โœ”๏ธ ์ž˜๋ชป๋œ ๋ณ€์ˆ˜๋ช…์„ ์‚ฌ์šฉ

 

๐Ÿ”ฅ ๋ฌธ์ œ ์ฝ”๋“œ

for (MenuItem item : burgerMenu) {
    System.out.printf("%-15s | W %-3.1f | %s\n", burgers.name); // โŒ 'item'์ด ์•„๋‹ˆ๋ผ 'burgers'์‚ฌ์šฉ
    }

๐Ÿ’ข for ๋ฃจํ”„์—์„œ ์‚ฌ์šฉํ•  ๋ณ€์ˆ˜๋กœ item์„ ์„ ์–ธํ•ด๋†“๊ณ , ์ถœ๋ ฅํ•  ๋•Œ bugers๋ฅผ ์‚ฌ์šฉํ•จ

 

๐Ÿช„ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

๋ณ€์ˆ˜๋ฅผ ์ผ๊ด€๋˜๊ฒŒ ์‚ฌ์šฉํ•œ๋‹ค
ํ•ด๊ฒฐํ•˜๊ณ  ํ™ฉ๋‹นํ•ด์„œ ์บก์ณํ•ด๋†“์Œ

 

๐Ÿ’ง ํ•ด๊ฒฐ ์ฝ”๋“œ

for (MenuItem b : burgerMenu) {
    System.out.printf("%-15s | W %-3.1f | %s\n", b.name); // โ˜‘๏ธ for๋ฌธ์—์„œ ์‚ฌ์šฉํ•  ๋ณ€์ˆ˜๋ฅผ b๋กœ ํ†ต์ผ
    }

โ‡๏ธ ๋ฐฐ์šด์  ์š”์•ฝ

  • List์— ์ œ๋„ค๋ฆญ์„ ํ™œ์šฉํ•˜๋ฉด ๊ฐ์ฒด์˜ ์ •๋ณด๋„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๊ฐ์ฒด ์ƒ์„ฑ ์‹œ ๊ฐ’์„ ์„ค์ •ํ•  ๋•Œ๋Š” setter๊ฐ€ ์•„๋‹Œ ์ƒ์„ฑ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋”์šฑ ํšจ์œจ์ 
  • setter๋Š” ์ƒ์„ฑ๋œ ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์ˆ˜์ •ํ•˜๋Š” ์—ญํ• 
  • ๋ณ€์ˆ˜์ด ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉ๋˜๋Š”์ง€ ์ดํ•ดํ•˜๊ธฐ

๐Ÿ“์ƒ์„ฑ์ž์™€ setter ๋น„๊ตํ•˜๊ธฐ

๋น„๊ต ํ•ญ๋ชฉ ์ƒ์„ฑ์ž Setter
๋ชฉ์  ๊ฐ์ฒด ์ƒ์„ฑ ์‹œ ์ดˆ๊ธฐ๊ฐ’ ์„ค์ • ๊ฐ์ฒด ์†์„ฑ์„ ๋ณ€๊ฒฝ
ํ˜ธ์ถœ ์‹œ์  ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค ๋•Œ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“  ํ›„ ํ•„์š”ํ•  ๋•Œ
์ฝ”๋“œ ์–‘์‹ new ํด๋ž˜์Šค๋ช…(...) ๊ฐ์ฒด๋ช….set์†์„ฑ๋ช…(...)
ํ˜ธ์ถœ ๋ฐฉ์‹ new ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ํ•œ ๋ฒˆ๋งŒ ํ˜ธ์ถœ ํ•„์š”ํ•  ๋•Œ ์—ฌ๋Ÿฌ ๋ฒˆ ํ˜ธ์ถœ ๊ฐ€๋Šฅ
๋ฐ˜ํ™˜ ๊ฐ’ ์—†์Œ (void) ์—†์Œ (void)
ํ•„์ˆ˜ ์—ฌ๋ถ€ ์—†์œผ๋ฉด ๊ธฐ๋ณธ ์ƒ์„ฑ์ž ์ž๋™์œผ๋กœ ์ƒ์„ฑ ํ•„์š”ํ•  ๋•Œ๋งŒ ๋งŒ๋“ค๋ฉด ๋จ

โœ”๏ธ ์ƒ์„ฑ์ž๋งŒ ์žˆ์œผ๋ฉด ์†์„ฑ ๊ฐ’ ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅ (๊ณ„์† ์ƒˆ๋กœ์šด ๊ฐ์ฒด ์ƒ์„ฑ๋งŒ ๊ฐ€๋Šฅ)

โœ”๏ธ Setter๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ์†์„ฑ ๊ฐ’ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ

โœ”๏ธ ์ฆ‰, ์ƒ์„ฑ์ž๋Š” ์ดˆ๊ธฐ๊ฐ’์„ ์„ค์ •ํ•˜๊ณ , ์ƒ์„ฑ๋œ ๊ฐ์ฒด์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ๋•Œ Setter ์‚ฌ์šฉ

ใ€€  (= ์ƒ์„ฑ์ž๋กœ ํ–„๋ฒ„๊ฑฐ์˜ ๊ธฐ๋ณธ ์ •๋ณด๋ฅผ ์„ค์ •ํ•˜๊ณ , ๋ฉ”๋‰ด๋ช…์ด๋‚˜ ๊ฐ€๊ฒฉ ๋“ฑ์ด ๋ณ€๊ฒฝ๋˜์—ˆ์„ ๋•Œ Setter๋กœ ์ˆ˜์ •)

'๋‚ด์ผ๋ฐฐ์›€์บ ํ”„ > ๋ณธ์บ ํ”„ ๊ณผ์ œ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[์ผ์ •๊ด€๋ฆฌ์•ฑ ๋งŒ๋“ค๊ธฐ-1] Level 0: API ๋ช…์„ธ์„œ ๋ฐ ERD ์ž‘์„ฑ  (1) 2025.03.21
[ํ‚ค์˜ค์Šคํฌ ๋งŒ๋“ค๊ธฐ-8] ํ‚ค์˜ค์Šคํฌ ๊ณผ์ œ ํšŒ๊ณ   (0) 2025.03.14
[ํ‚ค์˜ค์Šคํฌ ๋งŒ๋“ค๊ธฐ-1][ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…] Level 1: ๋ฒ„ํผ ์ฒ˜๋ฆฌ ๋ฌธ์ œ & ๋ฐฐ์šด ์   (0) 2025.03.10
[๊ณ„์‚ฐ๊ธฐ ๋งŒ๋“ค๊ธฐ] ํ•ด์„ค ๊ฐ•์˜๋ฅผ ๋“ค์œผ๋ฉฐ ๋ฐฐ์šด ์ (+ ๋А๋‚€ ์ )  (0) 2025.03.06
[๊ณ„์‚ฐ๊ธฐ ๋งŒ๋“ค๊ธฐ-5] ๊ณ„์‚ฐ๊ธฐ ๊ณผ์ œ ํšŒ๊ณ   (0) 2025.03.06
'๋‚ด์ผ๋ฐฐ์›€์บ ํ”„/๋ณธ์บ ํ”„ ๊ณผ์ œ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [์ผ์ •๊ด€๋ฆฌ์•ฑ ๋งŒ๋“ค๊ธฐ-1] Level 0: API ๋ช…์„ธ์„œ ๋ฐ ERD ์ž‘์„ฑ
  • [ํ‚ค์˜ค์Šคํฌ ๋งŒ๋“ค๊ธฐ-8] ํ‚ค์˜ค์Šคํฌ ๊ณผ์ œ ํšŒ๊ณ 
  • [ํ‚ค์˜ค์Šคํฌ ๋งŒ๋“ค๊ธฐ-1][ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…] Level 1: ๋ฒ„ํผ ์ฒ˜๋ฆฌ ๋ฌธ์ œ & ๋ฐฐ์šด ์ 
  • [๊ณ„์‚ฐ๊ธฐ ๋งŒ๋“ค๊ธฐ] ํ•ด์„ค ๊ฐ•์˜๋ฅผ ๋“ค์œผ๋ฉฐ ๋ฐฐ์šด ์ (+ ๋А๋‚€ ์ )
aggeeeee
aggeeeee
ใ€€ φ(๏ผŽ๏ผŽ;)ใ€€๐Ÿ”œใ€€\_ใธ(โ–ญ-โ–ญ)โœจ
  • aggeeeee
    ๐Ÿฅ” ๋‹˜์˜ ๋ธ”๋กœ๊ทธ
    aggeeeee
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (156)
      • Today I Learned (25)
      • ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„ (116)
        • ๋ณธ์บ ํ”„ ๊ณผ์ œ (16)
        • ์‚ฌ์ „์บ ํ”„ ๊ณผ์ œ (23)
        • ํ”„๋กœ์ ํŠธ (2)
        • SQL ์ฝ”๋“œ์นดํƒ€ (44)
        • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฝ”๋“œ์นดํƒ€ (31)
      • ๐Ÿš€ (15)
        • Java (7)
        • Git & GitHub (1)
        • CS (4)
        • Spring & SpringBoot (3)
  • ๋งํฌ

  • ์ตœ๊ทผ ๊ธ€

  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
aggeeeee
[ํ‚ค์˜ค์Šคํฌ ๋งŒ๋“ค๊ธฐ-2][ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…] Level 2: ๋ฆฌ์ŠคํŠธ์™€ ์ƒ์„ฑ์ž ์‚ฌ์šฉ ์‹œ ๋ฐœ์ƒํ•œ ๋ฌธ์ œ๋“ค
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”