절차지향 프로그래밍
- 문제해결 흐름을 따라 ( 로직,알고리즘 ) 코드를 구성하고 구현. 대표적으로 C언어
OOP (Object Oriented Programming)
- 현실 세계에 존재하는 객체를 기반으로 객체 간의 관계를 통한 프로세스 진행
- 대표적으로 1. 캡슐화 2.상속 3.다형성의 특징을 지닌다.
1) 캡슐화
데이터와 연산과정을 내부에 숨기고, 필요한 인터페이스만 외부에 노출하여 사용하게 함
2) 상속
클래스의 상-하 관계 ( Is-a )
상속을 통해 속성과 기능이 자식에게 전달된다. 자식으로 갈수록 구체적이다.
-> 재활용이 가능하지만, 코드 재활용을 위한 상속은 X. 또한 구체 클래스의 상속도 X
-> Is-a 관계가 명확할때만 사용
※ 상속보다는 합성(has-a)을 권장
합성 - 다른 클래스의 기능이 필요시, 내 클래스에 인스턴스 변수로 선언하고 기능을 사용하는 것.
3) 다형성
동일 요청에 대한 다른 반응
- 상속과 오버라이딩을 통한 구현
객체 모델링
객체를 구조화 하는 작업. 필요한 클래스들을 추상적으로 정의한다.
정적 모델 : 객체가 가질 수 있는 모든 상태와 행동을 시간 독립적으로 모델링
동적 모델 : 객체의 라이프 사이클 동안의 변화
추상화
실 세계의 모든것을 표현하기엔 어려우니, 특정 부분을 추출해서 표현
실습
객체 모델링 - 현실 세계에서 객체 선정, 속성과 기능 정의 ( 다형성 포함 )
다형성/상속/합성 관련
주어진 클래스 다이어그램 참조하여 코드 구현
++ 추가로 공부할 것
List 자료구조 및 객체간 주고받는 상황 구현
json Library
rest api 호출
'IT > Architect 공부' 카테고리의 다른 글
Architect 공부 3일차(4) - UML/Activity Diagram (0) | 2024.04.02 |
---|---|
Architect 공부 3일차(3) - UML/StateChart Diagram (0) | 2024.04.02 |
Architect 공부 3일차(2) - UML/Class Diagram (0) | 2024.04.01 |
Architect 공부 3일차(1) - UML/Sequence Diagram (0) | 2024.04.01 |
Architect 공부 2일차 - UML/UseCase (1) | 2024.03.29 |