[JAVA] ์ƒ์†(inheritance)

DANIยท2023๋…„ 9์›” 25์ผ
0

JAVA๋ฅผ ๊ณต๋ถ€ํ•ด๋ณด์ž

๋ชฉ๋ก ๋ณด๊ธฐ
3/29
post-thumbnail

๐Ÿ“• ์ƒ์†(inheritance)์ด๋ž€?

์ž๋ฐ”์—๋Š” ๋ถ€๋ชจ ํด๋ž˜์Šค(์ƒ์œ„ ํด๋ž˜์Šค)์™€ ์ž์‹ ํด๋ž˜์Šค(ํ•˜์œ„ ํด๋ž˜์Šค) ๊ฐ€ ์žˆ๋‹ค.
์ž์‹ ํด๋ž˜์Šค๋Š” ๋ถ€๋ชจ ํด๋ž˜์Šค๋ฅผ ์„ ํƒํ•ด์„œ ๊ทธ ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„๋ฅผ ์ƒ์†๋ฐ›์•„ ๊ทธ๋Œ€๋กœ ์“ธ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.


โ“ ์ƒ์†(inheritance)์„ ํ•˜๋Š” ์ด์œ ?

ํด๋ž˜์Šค๋ฅผ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํšจ์œจ์ ์ด๊ณ  ์ค‘๋ณต๋œ ์ฝ”๋“œ๊ฐ€ ์ค„์–ด๋“ค์–ด ์ฝ”๋“œ๊ฐ€ ๊ฐ„๊ฒฐํ•ด์ง„๋‹ค.
๊ทธ๋ฆฌ๊ณ  ๊ณตํ†ต์ ์ธ ๊ธฐ๋Šฅ์„ ๋ถ€๋ชจ ํด๋ž˜์Šค์— ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ์ƒ์†๋ฐ›์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ž์‹ ํด๋ž˜์Šค์—์„œ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ™•์žฅ์„ฑ ๋˜ํ•œ ์šฉ์ดํ•˜๋‹ค.

๋‹ค์‹œ ๋งํ•ด, ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์‰ฌ์›Œ์ง€๊ณ  ํ™•์žฅ์„ฑ์ด ์šฉ์ดํ•ด์ง€๊ณ  ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•ด์ง€๊ณ  ์ฝ”๋“œ๊ฐ€ ๊ฐ„๊ฒฐํ•ด์ง€๋ฉฐ ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•  ์ˆ˜ ์žˆ๋‹ค.


๐Ÿ“– ์ž๋ฐ”์˜ ์ƒ์† ๋ฐฉ์‹

๐Ÿšซ ์ž๋ฐ”๋Š” ๋‹ค์ค‘ ์ƒ์†์ด ๋˜์ง€ ์•Š๋Š”๋‹ค. (์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ถ€๋ชจํด๋ž˜์Šค๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์—†์Œ)


๐Ÿ“ 1. ํด๋ž˜์Šค ์ƒ์†

class Child(์ž์‹ํด๋ž˜์Šค) extends Parents(๋ถ€๋ชจํด๋ž˜์Šค) {
// ํ•„๋“œ
// ์ƒ์„ฑ์ž
// ๋ฉ”์†Œ๋“œ
}

๐Ÿ“ 2. ๋ถ€๋ชจ์ƒ์„ฑ์ž ํ˜ธ์ถœ

์ž์‹ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋ฉด, ๋ถ€๋ชจ ๊ฐ์ฒด๊ฐ€ ๋จผ์ € ์ƒ์„ฑ๋˜๊ณ  ๊ทธ๋‹ค์Œ์— ์ž์‹ ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค.

Child child = new Child();

์œ„์™€ ๊ฐ™์ด ์ž์‹ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๊ฒฝ์šฐ Child์˜ ์ƒ์„ฑ์ž๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ ์„ ์–ธ๋˜์ง€ ์•Š์•˜๋‹ค๋ฉด ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

Child() {
super(); // ๋ถ€๋ชจ์˜ ๊ธฐ๋ณธ์ƒ์„ฑ์ž ํ˜ธ์ถœ
}

๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ง์ ‘ ์ž์‹ ์ƒ์„ฑ์ž๋ฅผ ์„ ์–ธํ•˜๊ณ  ๋ช…์‹œ์ ์œผ๋กœ ๋ถ€๋ชจ ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค.

Child (๋งค๊ฐœ๋ณ€์ˆ˜ ์„ ์–ธ, ... ) {
	super( ๋งค๊ฐœ๊ฐ’, ... );
}

๋งŒ์•ฝ super( ๋งค๊ฐœ๊ฐ’, ... );๊ฐ€ ์ƒ๋žต๋˜๋ฉด ์ปดํŒŒ์ผ๋Ÿฌ์— ์˜ํ•ด super();๊ฐ€ ์ž๋™์ ์œผ๋กœ ์ถ”๊ฐ€๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ถ€๋ชจ์˜ ๊ธฐ๋ณธ์ƒ์„ฑ์ž๊ฐ€ ์กด์žฌํ•ด์•ผ ํ•œ๋‹ค. ๋งŒ์•ฝ ๋ถ€๋ชจ์˜ ๊ธฐ๋ณธ์ƒ์„ฑ์ž๊ฐ€ ์—†๊ณ  ๋งค๊ฐœ ๋ณ€์ˆ˜๊ฐ€ ์žˆ๋Š” ์ƒ์„ฑ์ž๋งŒ ์žˆ๋‹ค๋ฉด ๋ฐ˜๋“œ์‹œ ๋ถ€๋ชจ ์ƒ์„ฑ์ž ํ˜ธ์ถœ์„ ์œ„ํ•ด super( ๋งค๊ฐœ๊ฐ’, ... );๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ํ˜ธ์ถœํ•ด์•ผ ํ•œ๋‹ค.

super( ๋งค๊ฐœ๊ฐ’, ... );๋Š” ๋ฐ˜๋“œ์‹œ ์ž์‹ ์ƒ์„ฑ์ž ์ฒซ ์ค„์— ์œ„์น˜ํ•ด์•ผ ํ•œ๋‹ค.


๐Ÿ“ 3. ๋ฉ”์†Œ๋“œ ์žฌ์ •์˜(Override)

์ž์‹ ํด๋ž˜์Šค์—์„œ ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ๋ฉ”์†Œ๋“œ๋ฅผ ๋‹ค์‹œ ์ •์˜ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.

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


  • ๋ถ€๋ชจ์™€ ๋™์ผํ•œ ์‹œ๊ทธ๋„ˆ์ฒ˜(๋ฆฌํ„ดํƒ€์ž…, ๋ฉ”์†Œ๋“œ ์ด๋ฆ„, ๋งค๊ฐœ ๋ณ€์ˆ˜ ๋ชฉ๋ก)์„ ๊ฐ€์ ธ์•ผ ํ•จ
  • ์ ‘๊ทผ ์ œํ•œ์„ ๋” ๊ฐ•ํ•˜๊ฒŒ ์žฌ์ •์˜ํ•  ์ˆ˜ ์—†์Œ
  • ์ƒˆ๋กœ์šด ์˜ˆ์™ธ๋ฅผ throwsํ•  ์ˆ˜ ์—†์Œ.

๋ฉ”์†Œ๋“œ๊ฐ€ ์žฌ์ •์˜๋˜์—ˆ๋‹ค๋ฉด ๋ถ€๋ชจ ๊ฐ์ฒด์˜ ๋ฉ”์†Œ๋“œ๋Š” ์ˆจ๊ฒจ์ง€๊ธฐ ๋•Œ๋ฌธ์—, ์ž์‹ ๊ฐ์ฒด์—์„œ ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ์žฌ์ •์˜๋œ ์ž์‹ ๋ฉ”์†Œ๋“œ๊ฐ€ ํ˜ธ์ถœ๋œ๋‹ค.

๋งŒ์•ฝ, ๋ถ€๋ชจ ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด super.๋ถ€๋ชจ๋ฉ”์†Œ๋“œ();๋กœ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค.


๐Ÿ“ 4. final ํด๋ž˜์Šค์™€ final ๋ฉ”์†Œ๋“œ

ํด๋ž˜์Šค๋ฅผ ์„ ์–ธํ•  ๋•Œ final ํ‚ค์›Œ๋“œ๋ฅผ class ์•ž์— ๋ถ™์ด๋ฉด ์ด ํด๋ž˜์Šค๋Š” ์ตœ์ข…์ ์ธ ํด๋ž˜์Šค์ด๋ฏ€๋กœ
์ƒ์†ํ•  ์ˆ˜ ์—†๋Š” ํด๋ž˜์Šค๊ฐ€ ๋œ๋‹ค.

public final class ํด๋ž˜์Šค { ... }

์ƒ์†ํ•  ์ˆ˜ ์—†๋Š” ํด๋ž˜์Šค. ์ฆ‰, ๋ถ€๋ชจ๊ฐ€ ๋  ์ˆ˜ ์—†๊ณ  ์ž์‹ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์—†๋‹ค.

๋ฉ”์†Œ๋“œ๋ฅผ ์„ ์–ธํ•  ๋•Œ final ํ‚ค์›Œ๋“œ๋ฅผ ๋ถ™์ด๋ฉด ์ด ๋ฉ”์†Œ๋“œ๋Š” ์ตœ์ข…์ ์ธ ๋ฉ”์†Œ๋“œ์ด๋ฏ€๋กœ ์žฌ์ •์˜ํ•  ์ˆ˜ ์—†๋Š” ๋ฉ”์†Œ๋“œ๊ฐ€ ๋œ๋‹ค.

public final ๋ฆฌํ„ดํƒ€์ž… ๋ฉ”์†Œ๋“œ(๋งค๊ฐœ๋ณ€์ˆ˜,..){...}

๋ถ€๋ชจ ํด๋ž˜์Šค์— ์„ ์–ธ๋œ final ๋ฉ”์†Œ๋“œ๋Š” ์ž์‹ ํด๋ž˜์Šค์—์„œ ์žฌ์ •์˜ํ•  ์ˆ˜ ์—†๋‹ค.


๐Ÿ“ 5. ๋‹ค๋ฅธ ์ƒ์„ฑ์ž ํ˜ธ์ถœ - this()์™€ super()์‚ฌ์šฉ

  • this() : ๋™์ผํ•œ ํด๋ž˜์Šค ๋‚ด์—์„œ ๋‹ค๋ฅธ ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ
  • super() : ์ƒ์œ„ ํด๋ž˜์Šค์˜ ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ

๐Ÿ”ด ๋ถ€๋ชจํด๋ž˜์Šค ์˜ˆ์‹œ

public class Parents {
	private String nation;
	private int age;
	Parents(){
		this("๋Œ€ํ•œ๋ฏผ๊ตญ"); // ๋™์ผํ•œ ๋ฉ”์†Œ๋“œ ๋‚ด ๋‹ค๋ฅธ ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœํ•จ
		// 3๋ฒˆ์งธ๋กœ ์‹คํ–‰๋จ
		System.out.println("๋ถ€๋ชจ.๊ธฐ๋ณธ ์ƒ์„ฑ์ž() : ");
	}
	
	Parents(String string){
		this(20); // ๋™์ผํ•œ ๋ฉ”์†Œ๋“œ ๋‚ด ๋‹ค๋ฅธ ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœํ•จ
		// 2๋ฒˆ์งธ๋กœ ์‹คํ–‰๋จ
		this.nation = string;
		System.out.println("๋ถ€๋ชจ.๊ธฐ๋ณธ ์ƒ์„ฑ์ž(String string) : " + this.nation);
	}
	
	Parents(int age){
		this.age = age; 
		// 1๋ฒˆ์งธ๋กœ ์‹คํ–‰๋จ
		System.out.println("๋ถ€๋ชจ.๊ธฐ๋ณธ์ƒ์„ฑ์ž(int age) : " + this.age);
	}
}

๐Ÿ”ด ์ž์‹ํด๋ž˜์Šค ์˜ˆ์‹œ

public class Child extends Parents{
	private String name;
	private int age;
	
	public Child() {
		this("ํ™๊ธธ๋™");// ๋™์ผํ•œ ๋ฉ”์†Œ๋“œ ๋‚ด ๋‹ค๋ฅธ ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœํ•จ
		// 3๋ฒˆ์งธ๋กœ ์‹คํ–‰๋จ
		System.out.println("์ž์‹.๊ธฐ๋ณธ ์ƒ์„ฑ์ž() : ");
	}
	
	public Child(String name) {
		this(50);// ๋™์ผํ•œ ๋ฉ”์†Œ๋“œ ๋‚ด ๋‹ค๋ฅธ ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœํ•จ
		// 2๋ฒˆ์งธ๋กœ ์‹คํ–‰๋จ
		this.name = name;
		System.out.println("์ž์‹.๊ธฐ๋ณธ ์ƒ์„ฑ์ž(String name) : " + this.name);
	}
	
	public Child(int age) {
		this.age = age;
		// 1๋ฒˆ์งธ๋กœ ์‹คํ–‰๋จ
		System.out.println("์ž์‹.๊ธฐ๋ณธ์ƒ์„ฑ์ž(int age) : " + this.age);
	}
}

๐Ÿ”ด ๋ฉ”์ธ ํด๋ž˜์Šค

public class ChidlExample {

	public static void main(String[] args) {
		Child child = new Child();

	}
}

๐Ÿ”ต ์‹คํ–‰๊ฒฐ๊ณผ

๋ถ€๋ชจ.๊ธฐ๋ณธ์ƒ์„ฑ์ž(int age) : 20
๋ถ€๋ชจ.๊ธฐ๋ณธ ์ƒ์„ฑ์ž(String string) : ๋Œ€ํ•œ๋ฏผ๊ตญ
๋ถ€๋ชจ.๊ธฐ๋ณธ ์ƒ์„ฑ์ž() : 
์ž์‹.๊ธฐ๋ณธ์ƒ์„ฑ์ž(int age) : 50
์ž์‹.๊ธฐ๋ณธ ์ƒ์„ฑ์ž(String name) : ํ™๊ธธ๋™
์ž์‹.๊ธฐ๋ณธ ์ƒ์„ฑ์ž() : 


๐Ÿ”– ๋งŒ์•ฝ, super() ์ƒ์„ฑ์ž๋ฅผ ์ž์‹ ๋ฉ”์†Œ๋“œ์— ๋ช…์‹œ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ํ•ด๋‹น๋˜๋Š” ๋ถ€๋ชจ ๋ฉ”์†Œ๋“œ๋งŒ ํ˜ธ์ถœ ๋œ๋‹ค.

๐Ÿ”ด ๋ถ€๋ชจํด๋ž˜์Šค ์˜ˆ์‹œ

public class Parents {
	private String nation;
	private int age;
	Parents(){
		this("๋Œ€ํ•œ๋ฏผ๊ตญ");
		System.out.println("๋ถ€๋ชจ.๊ธฐ๋ณธ ์ƒ์„ฑ์ž() : ");
	}

	Parents(String string){
		this(20); 
		this.nation = string;
		System.out.println("๋ถ€๋ชจ.๊ธฐ๋ณธ ์ƒ์„ฑ์ž(String string) : " + this.nation);
	}
	
	Parents(int age){
		this.age = age; 
		System.out.println("๋ถ€๋ชจ.๊ธฐ๋ณธ์ƒ์„ฑ์ž(int age) : " + this.age);
	}
}

๐Ÿ”ด ์ž์‹ํด๋ž˜์Šค ์˜ˆ์‹œ

public class Child extends Parents{
	private String name;
	private int age;
	
	public Child() {
		this("ํ™๊ธธ๋™");// ๋™์ผํ•œ ๋ฉ”์†Œ๋“œ ๋‚ด ๋‹ค๋ฅธ ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœํ•จ
		// 3๋ฒˆ์งธ๋กœ ์‹คํ–‰๋จ
		System.out.println("์ž์‹.๊ธฐ๋ณธ ์ƒ์„ฑ์ž() : ");
	}
	
	public Child(String name) {
		this(50);// ๋™์ผํ•œ ๋ฉ”์†Œ๋“œ ๋‚ด ๋‹ค๋ฅธ ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœํ•จ
		// 2๋ฒˆ์งธ๋กœ ์‹คํ–‰๋จ
		this.name = name;
		System.out.println("์ž์‹.๊ธฐ๋ณธ ์ƒ์„ฑ์ž(String name) : " + this.name);
	}
	
	public Child(int age) {
		super(500); // ๋งŒ์•ฝ super์ƒ์„ฑ์ž๋ฅผ ๋ช…์‹œํ•  ๊ฒฝ์šฐ ๋ถ€๋ชจ์˜ ๊ธฐ๋ณธ์ƒ์„ฑ์ž๋Š” ์‹คํ–‰๋˜์ง€ ์•Š์Œ
		this.age = age;
		// 1๋ฒˆ์งธ๋กœ ์‹คํ–‰๋จ
		System.out.println("์ž์‹.๊ธฐ๋ณธ์ƒ์„ฑ์ž(int age) : " + this.age);
	}
}

๐Ÿ”ด ๋ฉ”์ธ ํด๋ž˜์Šค

public class ChidlExample {

	public static void main(String[] args) {
		Child child = new Child();

	}
}

๐Ÿ”ต ์‹คํ–‰๊ฒฐ๊ณผ

๋ถ€๋ชจ.๊ธฐ๋ณธ์ƒ์„ฑ์ž(int age) : 500
์ž์‹.๊ธฐ๋ณธ์ƒ์„ฑ์ž(int age) : 50
์ž์‹.๊ธฐ๋ณธ ์ƒ์„ฑ์ž(String name) : ํ™๊ธธ๋™
์ž์‹.๊ธฐ๋ณธ ์ƒ์„ฑ์ž() : 


๐Ÿ“ 6. ๋ณต์‚ฌ ์ƒ์„ฑ์ž

๋ณต์‚ฌ ์ƒ์„ฑ์ž๋Š” ๊ฐ™์€ ํด๋ž˜์Šค์˜ ๊ธฐ์กด ๊ฐ์ฒด ๊ฐ’์„ ๋ณต์‚ฌํ•˜์—ฌ ์ƒˆ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“œ๋Š” ์ƒ์„ฑ์ž์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ฐ์ฒด์˜ ๋ณต์‚ฌ๋ณธ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ƒˆ ๊ฐ์ฒด๊ฐ€ ์›๋ž˜ ๊ฐ์ฒด์™€ ๋™์ผํ•œ ์ƒํƒœ๋ฅผ ๊ฐ–๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๐Ÿ”ด Person ํด๋ž˜์Šค

public class Person {
	String name;
	int age;
	
	public Person(Person other) {
		this.name = other.name;
		this.age = other.age;
	}

	public Person(String name, int age) {
		this.name = name;
		this.age = age;
	}

}

๐Ÿ”ด ๋ฉ”์ธ ํด๋ž˜์Šค

public class Copies {

	public static void main(String[] args) {
		Person person1 = new Person("Jane", 20);
		
		Person person2 = new Person(person1);
		
		if(person1==person2) {
			System.out.println("๊ฐ™์€ ๊ฐ์ฒด ์ž…๋‹ˆ๋‹ค");
		} else {
			System.out.println("๋‹ค๋ฅธ ๊ฐ์ฒด ์ž…๋‹ˆ๋‹ค.");
		}
		
		if(person1.name==person2.name) {
			System.out.println("person1๊ณผ person2์˜ ์ด๋ฆ„์ด ๊ฐ™์Šต๋‹ˆ๋‹ค.");
		} else {
			System.out.println("person1๊ณผ person2์˜ ์ด๋ฆ„์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค.");
		}
		
		if(person1.age==person2.age) {
			System.out.println("person1๊ณผ person2์˜ ๋‚˜์ด๊ฐ€ ๊ฐ™์Šต๋‹ˆ๋‹ค.");
		} else {
			System.out.println("person1๊ณผ person2์˜ ๋‚˜์ด๊ฐ€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.");
		}
	}
}

๐Ÿ”ต ์‹คํ–‰๊ฒฐ๊ณผ

๋‹ค๋ฅธ ๊ฐ์ฒด ์ž…๋‹ˆ๋‹ค.
person1๊ณผ person2์˜ ์ด๋ฆ„์ด ๊ฐ™์Šต๋‹ˆ๋‹ค.
person1๊ณผ person2์˜ ๋‚˜์ด๊ฐ€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋‘ ๊ฐ์ฒด๋Š” ๋‹ค๋ฅธ ์ฐธ์กฐ๊ฐ’์„ ๊ฐ€์ง

0๊ฐœ์˜ ๋Œ“๊ธ€