1. 객체지향언어
객체지향 프로그래밍 : 객체중심으로 프로그래밍 한다.
↕
순차적 프로그래밍 : 시간의 흐름 순서대로 프로그래밍 하는 방법
객체 : 현실세계에 있는 걸 프로그램으로 모델링 되는 주체로 사물, 사람, 개념, 기능 등 다양하다.
즉, 객체 중심으로 프로그램을 한다는 것은 객체를 도출하고 객체 사이의 관계를 명시해야 한다.
객체사이의 관계는 두개의 관계가 있다.
포함관계 : 다른 클래스타입의 객체를 멤버 변수로 포함하는 것. // has a 관계 획득하고 소유하고 있는 것.
상속관계 : 다른 클래스타입에서 성질을 그대로 물려받은 것 // is a 관계 태어나자마자 가지고 있는 것.
2. 객체 도출
: 어떤 클래스가 필요하고 그 클래스의 구성 요소 (어떤 멤버변수, 어떤 메소드가 필요하나) 를 결정 해야 한다.
- 요구 분석
사용자의 요구 분석을 함으로서 시스템의 기능이 도출 되며 use case 를 이용하여 만들 수 있다.
- 요구 명세서 작성
기능을 세분화 해서 그 기능 하나당 하나의 요구명세서를 작성한다. 세분화 하면 클래스화 시킬 객체가 보인다.
ex) ATM
카드를 넣는다 (yes) : 메뉴 선택으로 넘어간다 -> 비밀번호 입력 (yes) : 다음 메뉴를 보여준다
(no) : 에러메시지 보여주고 초기화면으로 이동 (no) : 에러메시지 보여주고 초기화면으로 이동
→ 필요한 클래스이름은 카드.
카드 안에 필요한 객체는 카드사, 카드번호, 비밀번호, 연결계좌 와 같은 것들이 있다.
이렇게 도출 된 객체를 가지고 클래스를 디자인 한다.
3. 클래스 디자인
class card (String name, String num, String pwd, Account xxx)
위의 card class에 포함 된 멤버변수 Account 는 또 다른 클래스 Account 를 필요로 한다.
class Account (String name, String num, String pwd, int balance)
이렇게 도출을 통해 원하는 객체를 생성 해 준 뒤 클래스와 메서드로 구현 해주면 그게 바로 객체지향언어
'JAVA' 카테고리의 다른 글
[JAVA] 객체지향 - 객체를 담는 배열 (0) | 2023.02.26 |
---|---|
[JAVA] 객체지향 - VO, DAO, DTO (0) | 2023.02.26 |
[JAVA] 객체지향 - 다양한 변수들 (0) | 2023.02.26 |
[JAVA] 객체지향 - 클래스와 객체 (0) | 2023.02.26 |
[JAVA] 객체지향 - 함수와 메서드 그리고 파라미터 (0) | 2023.02.23 |