1.손님이 커피숍에 들어간다
오브젝트 손님
오브젝트 커피숍
------------------
2.손님이 바리스타에게 가서 주문
오브젝트 바리스타
---------------------
3.손님이 메뉴판을 본다
오브젝트 메뉴판
오브젝트 메뉴목록
오브젝트 메뉴
---------------------
4.손님이 바리스타에게 아메리카노를 주문한다
---------------------
5.바리스타가 아메리카노를 만든다
---------------------
6.바리스타가 아메리카노를 손님에게 준다
-----------------------
객체지향 프로그래밍에서는 현실에서 생명이 없는 것들도 살아있는 것처럼 취급한다.
오브젝트들은 각자의 역할이 있고 협력을 한다
오브젝트 => 역할(부모클래스) => 책임(메서드)
오브젝트 => 협력 => 메시지(함수의 호출)
역할, 책임, 협력, 메시지 -- 네개가 합쳐져서 객체지향을 이룬다
역할은 대체될 수 없고 (부모클래스, 추상클래스, 인터페이스) 그 아래 오브젝트는 대체 될 수 있다.
(Protoss=역할 Object=질럿,드라군)
책임 없이 데이터만 있는 애들 - 클래스 자료형 : Beans, Model, 데이터베이스의 테이블
----------------------
배열
- 빠르다, 생성 후 배열길이를 줄이거나 늘릴 수 없다
링크드 리스트
- 느리다, 배열길이를 줄이거나 늘릴 수 있다
어레이리스트
- 배열길이를 줄이거나 늘릴 수 있다
- 순차적으로 정렬되서 랜덤엑세스가 가능하다(검색효율이 뛰어나다)
- 수정 삭제시 링크드 리스트 보다 느리다
----------------------------
'Programming Language > Java' 카테고리의 다른 글
자바 햄버거, 콤포지트 composite, composition (0) | 2020.04.03 |
---|---|
자바 제네릭, Wrapper (0) | 2020.04.03 |
자바 composite, composition 콤포지트, 콤포지션, 생성자 오버로딩 (0) | 2020.04.03 |
오라클 SELF JOIN (0) | 2020.04.02 |
자바 인터페이스의 변수와 함수 (0) | 2020.03.31 |