Next:
Mixin hertitance
, Previous:
SOLID Principle
, Up:
Index
attribute
get/set 메서드를 가지는 클래스 내부 변수를 클래스의 속성이라고 한다.
class
Person
{
int
age
;
public
:
int
get_age
(
)
const
{
return
age
;
}
void
set_age
(
)
(
int
value
)
{
age
=
value
}
;
}
;
C#이나 코틀린 등 많은 프로그래밍 언어가 속성을 언어 자체의 내장 기능으로 제공한다.
하지만, C++은 내장 기능으로 제공하지 않는다.
하지만 대부분의 컴파일러에서는 비표준적인 방법으로 이를 지원하고 있다.
class
Person
{
int
age_
;
public
:
int
get_age
(
)
const
{
return
age_
;
}
void
set_age
(
int
value
)
{
age_
=
value
;
}
__declspec
(
property
(
get
=
get_age
,
put
=
set_age
))
int
age
;
}
;
//
사
용
시
,
Person
person
;
p
.
age
=
20
;
// calls p.set_age(20)