본문 바로가기

BackEnd/Java18

[JAVA] DTO 와 VO의 차이점 자바를 사용하다보면 어느순간 DTO와 VO를 혼용하여 사용하는 경우들이 생겨나는데 이는 DTO와 VO를 명확하게 구분 짓고 않고 사용하기 때문에 발생하는 것이라고 본다. ( 나도 지금까지도 헷갈리고 있는 ... ) 그래서 정리해본 DTO와 VO의 차이점 1. DTO의 개념 DTO는 'Data Transfer Object' 의 약자로 말 그대로 데이터 전달용 객체를 뜻한다. 자세히 설명해보면 View-Controller-Service-Repository 와 같은 레이어(계층)간의 데이터 전달 시 사용하는 객체라고 할 수 있다. DTO는 순수하게 '데이터 전달용' 객체이기 때문에 getter/setter를 제외하고는 어떠한 로직도 포함하고 있지 않는다는 것이 특징이다. DTO에 setter 메소드가 생성된 .. 2024. 3. 13.
Java] 객체지향 - 추상화, 캡슐화 ** 클래스(class) 생성시 [접근제한자] [예약어] class명 -> 접근제한자 : public, default -> 예약어 : abstract(객체 생성이 불가능한 추상클래스), final(상속이 불가능한 클래스) **캡슐화란, 외부에서의 접근을 막는 것 - 외부에서 접근이 불가능한 메서드와, 외부에서 호출할 메서드를 구분한다. - 클래스의 내부의 필드변수(멤버변수)에 클래스 바깥에서 호출하지 못하게 막는 것 - 필드 변수의 접근제한자를 private로 지정한다. - 클래스를 수정했을 때 발생하는 영향이 클래스 외부로 나가는 것을 최소화 한다. - 수정했을 때 프로그램의 영향이 적다 -> 수정하기 쉬운 프로그램이다. **추상화란, 프로그램이 필요로 하는 공통적인 기능 및 속성을 추출하고, 불필요한.. 2020. 11. 16.
JAVA] 배열(Array) - 배열 ** 배열의 사용이유 : 타입이 같은 데이터가 여러개 필요한 경우 배열을 사용해서 관리해주면 된다, 이건 배열을 통해 여러 데이터를 하나의 변수로 다룰 수 있기 때문이다. * 변수(레퍼런스)를 통해 배열에 접근할 수 있고, 인덱스를 통해 배열 안의 데이터에 접근할 수 있다. ** 배열생성방법 String[] sArr = new String[ 5 ]; --> String 타입의 데이터를 5개 보관하는 배열 생성 (배열생성과 동시에 초기화 해줌) (배열은 아파트를 만드는 것이라고 생각하면 쉽다 ! String 만 입주할 수 있는 5칸짜리 아파트 생성 !!) ** 인덱스 - 저장한 데이터의 경우 인덱스를 통해 접근할 수 있는데, 이 인덱스는 0부터 카운트 된다. (5칸짜리 아파트이지만 0층부터 있다고 생각하면.. 2020. 11. 12.
JAVA] 반복문 - While문/ doWhile문/ for문 /이중for문/ continue/ break ** While [표현문] while(조건식) { 실행문 } ---> 조건식의 결과값이 true이면 실행문 반복 실행 ---> 조건식의 결과값이 false이면 실행문을 건너 뛴다.(while문을 벗어나게 되는 것) 예제) 1. 다섯번만 반복하는 조건문 만들기 int i = 0; while(i < 5) { System.out.println(i + "번째 반복문입니다.); i++; // i 가 1씩 증가해야 4번째까지 도달할 수 있다. 안해주면 무한반복하게 됨 } 2. 정수를 입력받아 구구단 출력하기 System.out.println("정수 하나를 입력하세요: "); int num = sc.nextInt(); int no = 1; while(no 이 표현식을 풀어서 정리하면, int 타입의 i 변수의 초기값.. 2020. 11. 12.