๋ฐ˜์‘ํ˜•

swift access control 1

[Swift] ์ ‘๊ทผ์ œ์–ด์ž(Access Control)์— ๋Œ€ํ•ด์„œ

์•ˆ๋…•ํ•˜์„ธ์š”~ ์˜ค๋Š˜์€ ์ ‘๊ทผ์ œ์–ด์ž์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ ‘๊ทผ์ œ์–ด์ž ์•ž์„œ ์„ค๋ช…ํ•œ ๋ชจ๋“ˆ๊ณผ ์†Œ์ŠคํŒŒ์ผ๋“ฑ์˜ ์š”์†Œ๋“ค์—์„œ ์ ‘๊ทผ์„ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋ฉฐ ๊ฐ์ฒด์ง€ํ–ฅ์˜ ํŠน์„ฑ ์ค‘ ํ•˜๋‚˜์ธ ์€๋‹‰ํ™”๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด ์ค๋‹ˆ๋‹ค. ์ ‘๊ทผ์ œ์–ด์ž์˜ ์ข…๋ฅ˜ ์ ‘๊ทผ์ œ์–ด์ž๋Š” ์ด 5๊ฐ€์ง€๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 1. open open ์ ‘๊ทผ ์ œ์–ด์ž๋Š” ๊ฐ€์žฅ ๋†’์€ ์ˆ˜์ค€์˜ ์ ‘๊ทผ ์ œ์–ด์ž๋กœ, ๋‹ค๋ฅธ ๋ชจ๋“ˆ์—์„œ๋„ ํ•ด๋‹น ํด๋ž˜์Šค๋‚˜ ๋ฉ”์„œ๋“œ๋ฅผ ์„œ๋ธŒํด๋ž˜์‹ฑ(subclassing)ํ•˜๊ฑฐ๋‚˜ ์˜ค๋ฒ„๋ผ์ด๋”ฉ(overriding)ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณดํ†ต ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ณ  ์‚ฌ์šฉํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. open์œผ๋กœ ์„ ์–ธ๋œ ํด๋ž˜์Šค๋‚˜ ๋ฉ”์„œ๋“œ๋ฅผ ์ƒ์†ํ•˜๊ฑฐ๋‚˜ ์žฌ์ •์˜ํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. open class Animal { open func bark() { print("์œผ๋ฅด๋  ์œผ๋ฅด๋ ") ..

iOS/Swift 2023.03.15
๋ฐ˜์‘ํ˜•