샤인의 IT (막 적는) 메모장

[JAVA] 기본 정리 본문

Programming/JAVA

[JAVA] 기본 정리

신샤인 2021. 12. 30. 17:12
반응형

Git에 올라간 소스가 어떤 구조로 각 클래스는 어떤 역할을 하는지 알기 위하여..

 

JDK / JRE/ JVM

#JDK
JAVA Development Kit 자바 개발 도구

#JRE
JAVA Runtime Environment 자바 런타임 환경 : 자바를 동작시킬 때 필요한 라이브러리를 가지고 있음

#JVM
JAVA Virual Machine 자바 가상 머신 : 자바 소스로 만들어지는 자바 바이너리 파일을 실행시킴 (OS 환경마다 JVM은 다름)

 

기본 문법

#객체지향(Object Oriented Programming)
객체를 바탕으로 프로그램을 구조화하고 개발하는 프로그래밍 기법
함수와 메소드가 비슷하며 객체간 메시지를 교환하는 프로그래밍 모델

#클래스와 인스턴스
속성이 같은 개체를 대표할수 있는 대상을 클래스(Class)라고 한다.
클래스는 객체를 정의하는 틀이며 필드(Field)와 메소드(Method)로 구성
클래스에서 생성한 객체를 인스턴스라고 부름

#상속
어떤 클래스에서 좀 더 구체적으로 새로운 클래스가 필요할 때 기존 클래스에 물려받아 추가하거나 수정하려 만든 개념
클래스 선언 시 extends 추가

#생성자
클래스를 실행할 때 가장 먼저 실행되는 특수한 형태의 메소드로 리턴값이 없으면 클래스명과 일치해야함
파라미터가 있는 다른 여러 생성자를 추가할 경우 (Method Overloading)

#접근 한정자
public - 어디서든 사용 가능
protected - 패키지가 다르면 사용 불가능하나 상속 받을 시 사용 가능
default - 같은 클래스와 패키지에서만 사용
private - 같은 클래스 내부에서만 사용

#사용 제한자
static - 클래스 메소드나 클래스 변수에 사용 / 인스턴스를 생성하지 않아도 호출 가능
final - 더이상 변경할 수 없도록 선언하는 한정자
abstract - 추상 클래스 선언 시 사용


#추상 클래스
공통적인 부분만 추출해 선언한 클래스이며 실체성이 없고 구체적이지 않아 실체클래스와 상속관계임

#데이터 은닉
객체가 가진 데이터를 외부로부터 변질되지 않도록 보호하는 방법
변수 private 설정
getter & setter

#MVC
컨트롤러
- 클라이언트 요청을 받았을 때 실제 업무를 수행하는 모델 컴포넌트를 호출
- 모델이 요청을 완료하면 그 결과를 뷰로 전달 (Servlet이나 JSP로 작성)

모델
- 데이터저장소와 연동하여 사용자가 입력한 데이터나 사용자에게 출력할 데이터를 다루는 일 수행
- DAO클래스를 Service 클래스에 할당

뷰
- 모델이 처리한 결과를 가지고 사용자에게 출력할 화면을 만듬
- 생성한 화면은 웹 브라우저가 출력하고 뷰 컴포넌트는 CSS, HTML, JS 사용하여 UI를 만듬
- 뷰 컴포넌트는 HTML과 JSP로 작성

- 스프링 프레임워크 MVC는 Controller - Model(Service,DAO,DTO(=VO) - View
- Client 요청 -> Controller Layer -> Service Layer -> Data Access Layer -> DB

반응형
Comments