[PHP] ํด๋ž˜์Šค

[์›๋ณธ ๋งํฌ]

php๋„ ๋ฒ„์ „ 5๋ถ€ํ„ฐ ํด๋ž˜์Šค ๋ฌธ๋ฒ•์ด ์ง€์›๋œ๋‹ค.

๋ฌธ๋ฒ•๊ตฌ์กฐ๋Š” ๋Œ€๋žต c++ ๋“ฑ์˜ oop ์–ธ์–ด๋“ค๊ณผ ํก์‚ฌํ•˜๋‹ค.

๋ฉค๋ฒ„๋ณ€์ˆ˜ ์„ ์–ธ์€ ๊ทธ๋ƒฅ ๋ณ€์ˆ˜์„ ์–ธ๊ณผ ๋™์ผํ•˜๋‹ค. ๊ทธ๋†ˆ์˜ ๋‹ฌ๋Ÿฌํ‘œ์‹œ๋งŒ ์—ด์‹ฌํžˆ ๋ถ™์ด๋ฉด ๋œ๋‹ค.

๋ฉค๋ฒ„ํ•จ์ˆ˜๋„ ๊ทธ๋ƒฅ ํ•จ์ˆ˜์„ ์–ธ๊ณผ ๋™์ผํ•˜๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ƒ์„ฑ์ž/์†Œ๋ฉธ์ž๋Š” __construct/__destruct ํ‚ค์›Œ๋“œ๋กœ ์„ ์–ธ๋œ๋‹ค. ์ƒ์„ฑ์ž๋‚˜ ๊ธฐํƒ€ ๋ฉ”์„œ๋“œ๋“ค๋„ ์˜ค๋ฒ„๋กœ๋”ฉ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

๊ฐ์ฒด ๋‚ด์—์„œ ๋ฉค๋ฒ„๋ณ€์ˆ˜ ๋“ฑ์˜ ์ ‘๊ทผ์€ $this->๋ณ€์ˆ˜๋ช…; ์œผ๋กœ ํ‘œํ˜„๋˜๋Š”๋ฐ, ๋’ค์—๋Š” $๋ฅผ ๋ถ™์ด๋ฉด ์•ˆ๋œ๋‹ค. ์ฐธ ์ผ๊ด€์„ฑ๋„ ์—†๋‹ค.

์ ‘๊ทผ์ œ์–ด์ž๋„ ์—ฌํƒ€ ์–ธ์–ด๋“ค๊ณผ ๋‹ค๋ฅผ๋ฐ” ์—†๋‹ค.
ย private/protected/public์ด๋ฉฐ, ๋ถ™์ด์ง€ ์•Š์•˜์„ ๊ฒฝ์šฐ์˜ ๋””ํดํŠธ์ œ์–ด๋Š” public์ด๋‹ค.

ํด๋ž˜์Šค์˜ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋ ค๋ฉด **new ํด๋ž˜์Šค๋ช…(์ƒ์„ฑ์ž์ธ์ž)**๋ฅผ ํ•˜๋ฉด ๋˜๊ณ ,
๋ฉค๋ฒ„์— ์ ‘๊ทผํ•˜๋ ค๋ฉด ๊ฐ์ฒด->๋ฉค๋ฒ„๋ช…์œผ๋กœ ์“ฐ๋ฉด ๋œ๋‹ค.

์•„๋ž˜๋Š” ์‚ฌ๋žŒ์˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ๊ฐ„๋‹จํ•œ ํด๋ž˜์Šค์ธ Person์„ ์ •์˜ํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ์˜ˆ์ด๋‹ค. image

image

image

์ •์ ๋ฉ”์„œ๋“œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
์ •์ ๋ฉ”์„œ๋“œ์˜ ์žฅ์  ์ค‘ ํ•˜๋‚˜๋Š” ํด๋ž˜์Šค์˜ ์˜์—ญ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์œผ๋ฉด์„œ ๊ฐ์ฒด์™€๋Š” ๋ณ„๊ฐœ๋กœ ์ž์œ ๋กญ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹จ ๊ฒƒ์ด๋‹ค.

์‚ฌ์šฉ๋ฒ•์€ ๊ทธ๋ƒฅ function ์•ž์— static๋งŒ ๋ถ™์ด๋ฉด ๋œ๋‹ค.
์•„๋ž˜๋Š” ์ƒ์„ฑ์ž๋Š” private์œผ๋กœ ๋ง‰๊ณ , ์ •์ ๋ฉ”์„œ๋“œ๊ฐ€ ๊ทธ ์ƒ์„ฑ์„ ๋Œ€์‹ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“  ์ฝ”๋“œ๋‹ค. image

image

image ์ •์ ๋ฉค๋ฒ„๋ณ€์ˆ˜๋„ ๋ณ„ ๋‹ค๋ฅธ๊ฑด ์—†๋‹ค. ๋ณ€์ˆ˜ ์•ž์— static๋งŒ ๋ถ™์ด๋ฉด ๋œ๋‹ค.