๋ฃจ์  ์†Œํ”„ํŠธ ๋กœ๊ณ 

216.73.216.3 TODAY : 46

PHP ์˜จ๋ผ์ธ ๊ฐ•์˜

 > 

PHP - ์ค‘๊ธ‰

๐Ÿ“š PHP ์ค‘๊ธ‰ - 5์ฃผ์ฐจ: PHP ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (OOP) ๊ธฐ์ดˆ - 02 ์ƒ์„ฑ์ž (__construct)

๐Ÿ“š PHP ์ค‘๊ธ‰ - 5์ฃผ์ฐจ: PHP ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (OOP) ๊ธฐ์ดˆ - 02 ์ƒ์„ฑ์ž (__construct)
ํ‰์  10.0 ๋ผ์ด์„ผ์Šค free
์‚ฌ์šฉ์žํ‰์  10.0 ์šด์˜์ฒด์ œ
๋‹ค์šด๋กœ๋“œ 1 ํŒŒ์ผํฌ๊ธฐ 0
์ œ์ž‘์‚ฌ LUZENSOFT ๋“ฑ๋ก์ผ 2025-07-29 13:50:49
์กฐํšŒ์ˆ˜ 12
- ์„ค๋ช…

๐Ÿ“š PHP ์ค‘๊ธ‰ - 5์ฃผ์ฐจ: PHP ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (OOP) ๊ธฐ์ดˆ - 02 ์ƒ์„ฑ์ž (__construct)





PHP ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(OOP)์—์„œ #์ƒ์„ฑ์ž(__construct)๋Š” ํด๋ž˜์Šค์˜ #๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ ์ž๋™์œผ๋กœ ํ˜ธ์ถœ๋˜๋Š” ํŠน๋ณ„ํ•œ ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค. ์ด ์ƒ์„ฑ์ž๋ฅผ ํ†ตํ•ด ๊ฐ์ฒด์˜ ์ดˆ๊ธฐ ์ƒํƒœ๋ฅผ ์„ค์ •ํ•˜๊ฑฐ๋‚˜, ๊ฐ์ฒด ์‚ฌ์šฉ์— ํ•„์š”ํ•œ ์ดˆ๊ธฐ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.







์ƒ์„ฑ์ž ์„ ์–ธ ๋ฐ ์‚ฌ์šฉ

uploadImage



PHP์—์„œ ์ƒ์„ฑ์ž๋Š” __construct()๋ผ๋Š” ํŠน๋ณ„ํ•œ ์ด๋ฆ„์œผ๋กœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฉ”์„œ๋“œ๋Š” ์ผ๋ฐ˜์ ์ธ ๋ฉ”์„œ๋“œ์™€ ๋™์ผํ•˜๊ฒŒ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ๊ฐ์ฒด ์ƒ์„ฑ ์‹œ ์™ธ๋ถ€๋กœ๋ถ€ํ„ฐ ๊ฐ’์„ ์ „๋‹ฌ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

PHP

<?php
class Car {
    public $brand;
    public $model;

    // ์ƒ์„ฑ์ž ์ •์˜
    public function __construct($brand, $model) {
        $this->brand = $brand;
        $this->model = $model;
        echo "์ƒˆ๋กœ์šด {$this->brand} {$this->model} ์ฐจ๋Ÿ‰์ด ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.". "<br>";
    }

    public function getCarInfo() {
        return "๋ธŒ๋žœ๋“œ: {$this->brand}, ๋ชจ๋ธ: {$this->model}". "<br>";
    }
}

// ๊ฐ์ฒด ์ƒ์„ฑ ์‹œ ์ƒ์„ฑ์ž ์ž๋™ ํ˜ธ์ถœ
$myCar = new Car("Hyundai", "Sonata");
echo $myCar->getCarInfo();

$yourCar = new Car("Kia", "K5");
echo $yourCar->getCarInfo();
?>

์œ„ ์˜ˆ์ œ์—์„œ Car ํด๋ž˜์Šค์˜ __construct ๋ฉ”์„œ๋“œ๋Š” $brand์™€ $model ๋‘ ๊ฐœ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค. new Car("Hyundai", "Sonata")์™€ ๊ฐ™์ด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋ฉด, ์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋“ค์ด ์ƒ์„ฑ์ž๋กœ ์ „๋‹ฌ๋˜์–ด #$this->brand์™€ #$this->model์— ๊ฐ๊ฐ "Hyundai"์™€ "Sonata"๊ฐ€ ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค.







์„ ํƒ์  ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์ง„ ์ƒ์„ฑ์ž

uploadImage



์ƒ์„ฑ์ž์—๋„ ์ผ๋ฐ˜ ํ•จ์ˆ˜์ฒ˜๋Ÿผ #์„ ํƒ์  ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ฐ์ฒด ์ƒ์„ฑ ์‹œ ์œ ์—ฐ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

PHP

<?php
class User {
    public $name;
    public $age;

    public function __construct($name, $age = null) { // $age๋Š” ์„ ํƒ์  ๋งค๊ฐœ๋ณ€์ˆ˜
        $this->name = $name;
        $this->age = $age;
        echo "์ด๋ฆ„: {$this->name}";
        if ($this->age !== null) {
            echo ", ๋‚˜์ด: {$this->age}";
        }
        echo " ์‚ฌ์šฉ์ž๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.". "<br>";
    }

    public function getUserDetails() {
        $details = "์ด๋ฆ„: {$this->name}";
        if ($this->age !== null) {
            $details .= ", ๋‚˜์ด: {$this->age}";
        }
        return $details. "<br>";
    }
}

$user1 = new User("Alice"); // ๋‚˜์ด ์—†์ด ์ƒ์„ฑ
echo $user1->getUserDetails();

$user2 = new User("Bob", 30); // ๋‚˜์ด์™€ ํ•จ๊ป˜ ์ƒ์„ฑ
echo $user2->getUserDetails();
?>

์ด ์˜ˆ์ œ์—์„œ๋Š” User ํด๋ž˜์Šค์˜ ์ƒ์„ฑ์ž๊ฐ€ $age๋ฅผ #null์„ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ํ•˜๋Š” ์„ ํƒ์  ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ new User("Alice")์™€ ๊ฐ™์ด ๋‚˜์ด๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š๊ณ  ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.







์ƒ์„ฑ์ž์˜ ์˜ค๋ฒ„๋กœ๋”ฉ (Overloading)

uploadImage



PHP๋Š” ๋‹ค๋ฅธ ์ผ๋ถ€ ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด์ฒ˜๋Ÿผ #์ƒ์„ฑ์ž์˜ ์˜ค๋ฒ„๋กœ๋”ฉ์„ ์ง์ ‘์ ์œผ๋กœ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๋™์ผํ•œ ์ด๋ฆ„์˜ ์ƒ์„ฑ์ž๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ์ •์˜ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์„ ํƒ์  ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋น„์Šทํ•œ ํšจ๊ณผ๋ฅผ ๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

PHP

<?php
class Product {
    public $name;
    public $price;
    public $currency;

    public function __construct($name, $price = 0, $currency = "KRW") {
        $this->name = $name;
        $this->price = $price;
        $this->currency = $currency;
        echo "{$this->name} ์ƒํ’ˆ์ด {$this->price}{$this->currency} ๊ฐ€๊ฒฉ์œผ๋กœ ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.". "<br>";
    }
}

$product1 = new Product("Laptop"); // ์ด๋ฆ„๋งŒ ์ง€์ •
$product2 = new Product("Mouse", 25000); // ์ด๋ฆ„๊ณผ ๊ฐ€๊ฒฉ ์ง€์ •
$product3 = new Product("Keyboard", 50000, "USD"); // ์ด๋ฆ„, ๊ฐ€๊ฒฉ, ํ†ตํ™” ์ง€์ •
?>

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







์ƒ์†๊ณผ ์ƒ์„ฑ์ž

uploadImage



#์ƒ์† ๊ด€๊ณ„์—์„œ ์ž์‹ ํด๋ž˜์Šค๊ฐ€ ์ƒ์„ฑ์ž๋ฅผ ์ •์˜ํ•˜์ง€ ์•Š์œผ๋ฉด, #๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ์ƒ์„ฑ์ž๊ฐ€ ์ž๋™์œผ๋กœ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ž์‹ ํด๋ž˜์Šค์—์„œ ์ƒ์„ฑ์ž๋ฅผ ์ •์˜ํ•˜๋Š” ๊ฒฝ์šฐ, ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ์ƒ์„ฑ์ž๋Š” ์ž๋™์œผ๋กœ ํ˜ธ์ถœ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ, ํ•„์š”ํ•œ ๊ฒฝ์šฐ #parent::__construct()๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ช…์‹œ์ ์œผ๋กœ ํ˜ธ์ถœํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

PHP

<?php
class Animal {
    protected $name;

    public function __construct($name) {
        $this->name = $name;
        echo "๋™๋ฌผ {$this->name}์ด(๊ฐ€) ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.". "<br>";
    }
}

class Dog extends Animal {
    public $breed;

    public function __construct($name, $breed) {
        parent::__construct($name); // ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ์ƒ์„ฑ์ž ํ˜ธ์ถœ
        $this->breed = $breed;
        echo "๊ฐ•์•„์ง€ {$this->name} ({$this->breed})์ด(๊ฐ€) ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.". "<br>";
    }
}

$dog = new Dog("Buddy", "Golden Retriever");
?>

์ด ์˜ˆ์ œ์—์„œ Dog ํด๋ž˜์Šค๋Š” ์ž์ฒด ์ƒ์„ฑ์ž๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ, parent::__construct($name)์„ ํ†ตํ•ด ๋ถ€๋ชจ ํด๋ž˜์Šค์ธ Animal์˜ ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ $name ์†์„ฑ์„ ์ดˆ๊ธฐํ™”ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ž์‹ ํด๋ž˜์Šค์—์„œ ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ์ดˆ๊ธฐํ™” ๋กœ์ง์„ ์žฌ์‚ฌ์šฉํ•˜๋Š” ์ข‹์€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.






์ƒ์„ฑ์ž๋Š” PHP #OOP์—์„œ ๊ฐ์ฒด๋ฅผ ์•ˆ์ •์ ์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•˜๊ณ , ํ•„์š”ํ•œ ์ดˆ๊ธฐ ์„ค์ •์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ธ ์š”์†Œ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ์˜ #๊ฐ€๋…์„ฑ๊ณผ #์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.



๋ฌด๋ฃŒ์ฒดํ—˜, ๋Š๊น€์—†์ด ๋น ๋ฅธVPN VPN, ๊ตญ๋‚ด ๋‹ค๋Ÿ‰IP, ๋ชจ๋ฐ”์ผ๊ฐ€๋Šฅ, ๋ณธ์‚ฌ ํ’ˆ์งˆ๊ด€๋ฆฌ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ณด์•ˆ์„ฑ ๋†’์€ VPN ์„œ๋น„์Šค

https://xn--299ao67b9qbmsf04c.net/