Search
Duplicate

final

์ƒ์„ฑ์ผ
2024/02/15 02:40
ํƒœ๊ทธ
Grammar

ย final

โ€ข
class ์•ž์— final ์„ ๋ถ™์ด๊ฒŒ๋˜๋ฉด ํ•ด๋‹น class๋Š” โ€˜์ƒ์†ํ•  ์ˆ˜ ์—†๋Š” classโ€™ ๋ผ๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค.
import Foundation final class ์ƒ์†๋ถˆ๊ฐ€๋Šฅํ•œํด๋ž˜์Šค { } class final์„_์ƒ์†ํ•ด๋ณผ๊นŒ : ์ƒ์†๋ถˆ๊ฐ€๋Šฅํ•œํด๋ž˜์Šค { }
Swift
๋ณต์‚ฌ
โ€ข
๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, func์— final ์„ ๋ถ™์ด๊ฒŒ ๋˜๋ฉด override ํ•  ์ˆ˜ ์—†๋Š” ํ•จ์ˆ˜ ๋ผ๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค.
import Foundation class ์ƒ์†๊ฐ€๋Šฅํ•œํด๋ž˜์Šค { final func override์•ˆ๋˜๋Š”ํ•จ์ˆ˜(){} } class class๋ฅผ_์ƒ์†ํ•ด๋ณผ๊นŒ : ์ƒ์†๊ฐ€๋Šฅํ•œ ํด๋ž˜์Šค { override func override์•ˆ๋˜๋Š”ํ•จ์ˆ˜(){} }
Swift
๋ณต์‚ฌ

์„ฑ๋Šฅ์ ์ธ ์ด์ 

โ€ข
final๋กœ ์„ ์–ธํ•œ class๋‚˜ fun๋Š” ํ”„๋กœ์ ํŠธ์—์„œ โ€˜์œ ์ผํ•จโ€™์„ ๋ณด์žฅ๋ฐ›๋Š”๋‹ค.
โ€ข
๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์—, run-time ๋„์ค‘์— ํ•จ์ˆ˜ ํ˜ธ์ถœ์„ ๊ฒฐ์ •ํ•˜์ง€ ์•Š๊ณ , compile-time์—์„œ ํ•จ์ˆ˜ ํ˜ธ์ถœ์„ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ๋œ๋‹ค.

์š”์•ฝ

โ€ข
final๋กœ ์„ ์–ธํ•˜๋ฉด ์ƒ์†ํ•  ์ˆ˜ ์—†๊ฑฐ๋‚˜ override ํ•  ์ˆ˜๊ฐ€ ์—†๋‹ค!
โ€ข
๋”ฐ๋ผ์„œ compile-time์— ํ•จ์ˆ˜ ํ˜ธ์ถœ์„ ๊ฒฐ์ •ํ•˜๋ฏ€๋กœ ์ผ๋ฐ˜ class๋‚˜ func ๋ณด๋‹ค ์„ฑ๋Šฅ์  ์ด์ ์ด ์žˆ๋‹ค.