728x90
반응형
SMALL
1) 클래스 (Class)
- 정의: 객체를 만들기 위한 청사진(설계도)—속성(상태)과 메서드(행동)를 정의.
- 특징: 타입, 캡슐화의 단위, 인스턴스 생성 가능.
- 예시(현실 비유): “설계도(레시피)”
- 한줄 코드: class Car { String color; void drive(){} }
2) 객체 (Object, 인스턴스)
- 정의: 클래스로부터 생성된 실제 개체—상태(State), 행동(Behavior), 식별자(Identity)를 가짐.
- 특징: 동일 클래스여도 각자 다른 상태 보유.
- 예시(현실 비유): “현실의 자동차 한 대”
- 한줄 코드: Car myCar = new Car();
3) 속성 (Attribute/Field/Property)
- 정의: 객체의 상태를 표현하는 데이터.
- 주의: 값 검증·불변성 고려(무분별한 public 필드 지양).
- 예시(현실 비유): “자동차의 색, 연료량”
- 한줄 코드: myCar.color = "red";
4) 메서드 (Method)
- 정의: 객체가 수행하는 행동/연산(상태를 읽거나 변경).
- 주의: 함수를 객체 문맥에 두면 메서드; 부수효과/불변성 설계 신경쓰기.
- 예시(현실 비유): “엑셀 밟아 달린다”
- 한줄 코드: myCar.drive();
5) 메시지 (Message)
- 정의: 객체에 무엇을 하라고 보내는 요청(메시지 전송 → 수신 객체가 메서드로 응답).
- 의미: 다형성의 핵심—같은 메시지라도 수신자에 따라 다른 메서드가 실행.
- 예시(현실 비유): “운전자 지시: ‘달려!’”
- 한줄 코드: driver.send(myCar, "drive") // == myCar.drive()
요약
- 클래스는 설계도 → 객체는 실물
- 객체는 속성(상태)과 메서드(행동)를 가진다
- 메시지는 객체 간 상호작용의 단위(메시지 → 메서드 실행)
728x90
반응형
LIST