Guidelines

객체 속성을 κ΄€λ¦¬ν•˜λŠ” κ²Œν„°(Getter)와 μ„Έν„°(Setter)

ν΄λž˜μŠ€μ—μ„œ κ²Œν„°(getter)와 μ„Έν„°(setter) λ©”μ†Œλ“œλŠ” 객체의 속성을 κ°„μ ‘μ μœΌλ‘œ μ ‘κ·Όν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•©λ‹ˆλ‹€.

κ²Œν„°λŠ” 속성값을 읽을 λ•Œ μ‚¬μš©ν•˜κ³ , μ„Έν„°λŠ” 속성값을 μ„€μ •ν•˜κ±°λ‚˜ μˆ˜μ •ν•  λ•Œ μ‚¬μš©λ©λ‹ˆλ‹€.

κ²Œν„°μ™€ μ„Έν„°λŠ” 객체의 데이터λ₯Ό λ³΄ν˜Έν•˜κ³ , λ°μ΄ν„°μ˜ μœ νš¨μ„± 검사λ₯Ό μˆ˜ν–‰ν•  λ•Œ μœ μš©ν•©λ‹ˆλ‹€.

νŒŒμ΄μ¬μ—μ„œλŠ” @property λ°μ½”λ ˆμ΄ν„°λ₯Ό μ‚¬μš©ν•˜κ±°λ‚˜ 직접 κ²Œν„°μ™€ μ„Έν„°λ₯Ό κ΅¬ν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.


λ°μ½”λ ˆμ΄ν„° 없이 κ΅¬ν˜„ν•˜κΈ°

  • κ²Œν„°(Getter) λ©”μ†Œλ“œλŠ” 클래슀의 속성을 λ°˜ν™˜ν•©λ‹ˆλ‹€. 일반적으둜 get_속성λͺ… ν˜•μ‹μœΌλ‘œ 이름을 μ§€μ •ν•©λ‹ˆλ‹€.

  • μ„Έν„°(Setter) λ©”μ†Œλ“œλŠ” 클래슀의 속성을 μ„€μ •ν•˜κ±°λ‚˜ μˆ˜μ •ν•©λ‹ˆλ‹€. 일반적으둜 set_속성λͺ… ν˜•μ‹μœΌλ‘œ 이름을 μ§€μ •ν•©λ‹ˆλ‹€.

κ²Œν„°μ™€ μ„Έν„° μ‚¬μš© μ˜ˆμ‹œ
class Person: def __init__(self, name): self._name = name # 프라이빗 λ³€μˆ˜ def get_name(self): return self._name def set_name(self, value): if isinstance(value, str): self._name = value else: raise ValueError("이름은 λ¬Έμžμ—΄μ΄μ–΄μ•Ό ν•©λ‹ˆλ‹€.") # 클래슀 μ‚¬μš© μ˜ˆμ‹œ person = Person("홍길동") print(person.get_name()) # '홍길동' 좜λ ₯ person.set_name("λ°•μ² μˆ˜") # 'λ°•μ² μˆ˜'둜 이름 λ³€κ²½ print(person.get_name()) # 'λ°•μ² μˆ˜' 좜λ ₯ # 잘λͺ»λœ κ°’ μ„€μ • μ‹œλ„ (였λ₯˜ λ°œμƒ) # person.set_name(123)

이 μ˜ˆμ œμ—μ„œ Person ν΄λž˜μŠ€λŠ” _nameμ΄λΌλŠ” 프라이빗 λ³€μˆ˜λ₯Ό 가지고 있으며, get_name()κ³Ό set_name() λ©”μ†Œλ“œλ₯Ό 톡해 이 λ³€μˆ˜μ— μ ‘κ·Όν•©λ‹ˆλ‹€.

set_name() λ©”μ†Œλ“œλŠ” κ°’μ˜ μœ νš¨μ„±μ„ κ²€μ‚¬ν•˜μ—¬ λ¬Έμžμ—΄μ΄ μ•„λ‹Œ 경우 였λ₯˜λ₯Ό λ°œμƒμ‹œν‚΅λ‹ˆλ‹€.

Guidelines

AI Tutor

Publish

Design

Upload

Notes

Favorites

Help

Code Editor

Run
Generate

Execution Result