소프트웨어(Software)
- 객체지향과 자바 클래스에 대한 고찰
2022. 2. 23. 00:50반응형
객체란,
데이터와 그거에 따른 행동(연산)을 담고 있다.
해당 객체를 생성한다는 거는, 그 데이터와 행동 (데이터 사이의 인터랙션)을 만든다는 걸 의미한다.
이 데이터를 다른 객체들의 상호작용은 아래와 같이 묘사될 수 있다.
[객체] <-> [객체] <-> [객체] 상호작용
사실 이런식으로는 객체가 한번 할당되면,
중간에 있는 데이터는 계속 유지가 된다.
그리고 멀티스레드가 아닌 이상,
계속 한가지의 흐름밖에 생기지 않는다. (하나의 선)
그 하나의 선은 메인 프로세스가 된다.
객체 간의 통신은 어떻게 이루어지는가? (하나의 프로세스에서)
1. 메소드를 호출함으로써 (매개변수로 객체 넣음) (디펜던시 발생)
모듈 관점에서
아래와 같이 통신할 수 있다. 이럴 때 커플링은 아래와 같다.
b.process(a) process(A a) {a.member++;}
a.process(b) process(B b) {b.member++;}
아래와 같이 메서드를 직접 호출해서 통신할 수 있다.
b.notify(a) notify(A a) {a.action();}
a.notify(b) notify(B b) {b.action();}
2. 메소드를 호출함으로써 (생성자에 객체를 넣음) (디펜던시 발생)
생성자에 객체를 넣고.
B b = new B(a);
b.process() {a.process();}
3. 메서드를 호출함으로써 (상속 받음) (오버라이딩)
반응형
'소프트웨어(Software)' 카테고리의 다른 글
[소프트웨어테스트] 반복성과 재현성 (0) | 2022.05.27 |
---|---|
Visual Basic Hello world 띄우기 (0) | 2022.03.05 |
레이어드 스타일 장단점 및 특징 (Layered Style) (0) | 2022.02.16 |
아키택쳐 패턴과 아키택쳐 스타일 (수정중) (0) | 2022.02.16 |
RTOS란? (수정중) (0) | 2022.02.16 |