1. Attribute
- 객체의 상태를 나타내는 데이터
- 변수 또는 상수로 표현됨.
- 객체의 구조를 정의하는데 사용됨.
2. Behavior
- 객체가 수행할 수 있는 작업
- 함수 또는 메서드로 표현됨.
- 객체의 동작을 정의하는데 사용됨.
구분 예시
class Person {
var name: String // Attribute: 이름
var age: Int // Attribute: 나이
func sayHello() { // Behavior: 인사하기
print("Hello, my name is \(name)")
}
func getAge() -> Int { // Behavior: 인사하기
return age
}
}
// Attribute 사용
let person = Person()
person.name = "Jaby Lee"
person.age = 30
// Behavior 사용
person.sayHello() // Hello, my name is Jaby Lee 출력
let age = person.getAge() // 30 저장
위 예시에서 Person
클래스는 name
과 age
라는 Attribute와
sayHello()
와 getAge()
라는 Behavior를 가지고 있다.
Attribute와 Behavior 구분의 장점
- 코드의 가독성 향상
- 유지 관리 용이
- 재사용성 증가
- 테스트의 편리