내일배움캠프 D+52
객체지향 추상화란?
연관되어 있는 변수와 메소드를 결합해서 하나의 그룹을 짓는 것.
- 예시를 들어 보면 필통에는 연필, 지우개, 볼펜 등의 필기구 들이 있다.
model
class 필기구 { 연필(); 지우개(); 볼펜(); } public class 필통 extends 필기구 { 필통A.연필() 필통A.지우개() 필통A.볼펜() // 필통B.연필() 필통B.지우개() 필통B.볼펜() }
다형성(Doly-mophism)
다형성은 같은 타입이지만 실행 결과가 다양한 객체를 대입할 수 있는 성질.
다중 상속과 비슷하다.
ex)
Interface Bird{}; Interface Dog{}; // class animal implements Bird, Dog{}
-> animal 클래스에 Bird와 Dog를 다중으로 상속해 준다.
캡슐화란?
객체의 속성, 메소드를 하나로 묶고 실제 구현 내용을 외부에 감추는 것으로 객체의 무결성을 보장해준다.
쉽게 생각하면 "내부에서 어떤 과정을 거치던 동작만 하면된다."
결합도란?
모듈 간에 상호 의존하는 정도 또는 두 모듈 사이의 연관 관계를 의미한다.
ex) 주문하는 고객이 메뉴를 변경하면 직원이 변경된 메뉴에 의해 변화된 행동을 취해야하는 것과 같다.
응집도란?
응집도는 정보 은닉 개념을 확장한 것으로, 명령어나 호출문 등 모듈의 내부 요소들의 서로 관련되어 있는 정도, 즉 모듈이 독립적인 기능으로 정의되어 있는 정도를 의미합니다.
ex) 관련된 기능이 합쳐져 있는 것으로 +, -, x, / 기능의 사칙연산 모듈을 생각하면 된다.
인터페이스란?
객체가 각각의 역할과 책임이 있고 메시지로 상호작용해서 협력해 나가는것.
- 설계 객체의 인터페이스는 객체가 수신 할 수 있는 메시지 목록으로 구성됨.
- 객체가 어떤 메시지를 수신 할 수 있는 지가 객체가 제공하는 인터페이스의 모양을 빚는다.
UI : Program 과 user 의 연결부 (접점)
API : Program 과 Program 의 연결부(접점)
HTTP API : 데이터 줘! --- (HTTP) --- 그래!
JAVA API Doc : Code --- Interface --- Code
-> 인터페이스 규칙만 지키면 내부사항, 동작 몰라도 된다. - 캡슐화랑 비슷한 것 같다.
Getter/Setter
Getter: 정보를 가져오는 메소드
Setter: 정보를 바꾸는 메소드
Getter/Setter를 사용하는 이유
객체들의 데이터를 pirvate로 접근을 제한하고, Getter,Setter로만 접근하면 외부로부터 객체를 보호하며 객체의 무결성을 보장해 줄 수 있다.
데메테르의 법칙이란? (Low of Demeter)
기본 개념은 " 정보 은닉 " 원칙에 따라 주어진 객체가 다른 모든 것(하위 구성 요소 포함)의 구조 또는 속성에 대해 가능한 한 적게 가정해야 한다는 것입니다.
즉, 디미터의 법칙은 다른 객체가 어떠한 자료를 갖고 있는지 내부를 몰라야 한다는 것을 의미한다.
RDBMS란?
(Relational Database Management System: 관계형 데이터베이스 관리 시스템)
사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해 주고 데이터베이스를 관리해 주는 소프트웨어
H2 (RDBMS의 소프트웨어 중 하나)
Java SQL 데이터베이스로 초 경량에 인메모리 DB를 지원한다.
인메모리 DB란 서버가 작동하는 동안에만 내용을 저장하고, 서버가 작동을 멈추면 데이터가 모두 삭제되는 데이터베이스를 말한다.
NoSQL (Not Only SQL, No SQL ...)
SQL만을 사용하지 않는 데이터베이스 관리 시스템(DBMS)으로 여러 유형의 데이터베이스를 사용한다.
JPA
SQL을 쓰지 않고 데이터를 생성, 조회, 수정, 삭제할 수 있도록 해주는 번역기.
JDBC
자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API이다. JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공한다
DI(Dependency Injection : 의존성 주입)
외부에서 두 객체 간의 인터페이스를 사이에 둬서 클래스 레벨에서는 의존관계가 고정되지 않도록 하고 런타임 시에 관계를 주입하여 유연성을 확보하고 결합도를 낮출 수 있게 해준다.
Author And Source
이 문제에 관하여(내일배움캠프 D+52), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yu_jep/내일배움캠프-D52저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)