본문 바로가기
BackEnd/Backend 공부 정리

Java-11

by Brilliant_Graphite 2024. 8. 21.

 main 클래스(객체) <----- DTO / VO / 빈즈 ---- > Database Access Object  -- DTO / VO / 빈즈 --> DB

 

DTO (Data Transfer Object)

하나의 객체 안에 여러 데이터들을 포함시켜 전송

 

VO (Value Object)

 

****Collection FrameWork

1) List

- ***ArrayList

- LinkedList

 

2) Map

-*** HashMap

 

3) Set

 

 

Spring Boot - main 메소드 기본 생성

 

영속 계층 == Repository

서비스 계층

 

Wrapper 클래스

: null 값이 들어와도 오류가 나지 않는다

기초 <----캐스팅---->기초

기초 <---wrapper---> 객체

<Integer> : int 타입으로 변환시켜줌

 

대문자 A => 65

 

자바는 생성자가 하나라도 없으면 디폴트 생성자를 자동으로 만들어주지만 있으면 디폴트 생성자 X

 

DTO -> DAO -> Main 만들어지는 순

 

예외 처리 try catch 문

I/O객체 처리할 때 반드시 예외처리를 해야한다

 

자바는 오류가 난 곳에서 실행이 멈춘다

 

만든 파일들

package kr.co.hanuledu.oop1;


public class PersonDAO {

	private PersonDTO[] person;
	
	public PersonDAO(PersonDTO[] person) {
		this.person = person;
	}
	
	// 출력하는 기능
	public void display() {
		System.out.println("이름\t나이\t키\t몸무게\t성별");
		for(int i = 0; i < person.length; i++) {
			System.out.print(person[i].getName() + "\t");
			System.out.print(person[i].getAge()+ "\t");
			System.out.print(person[i].getHeight()+ "\t");
			System.out.print( person[i].getWeight()+ "\t");
			System.out.println(person[i].getGender()+ "\t");
		}
	}
	
	// 나이 정렬하는 기능
	
	public void sortAge() {
		for (int i = 0; i < person.length; i++) {
			for (int j = i + 1; j < person.length; j++) {
				if (person[i].getAge() > person[j].getAge()) {
					PersonDTO temp = person[i];
					person[i] = person[j];
					person[j] = temp;
				}
			}
		}
	}
	
	// 이름 정렬하는 기능
	// A.compareTo(B)
	// 1. A와 B가 같으면 0을 반환
	// 2. A가 B보다 크면 양수를 반환
	// 3. A가 B보다 작으면 음수를 반환
	public void sortName() {
		for (int i = 0; i < person.length; i++) {
			for (int j = i + 1; j < person.length; j++) {
				// person[i]의 이름이 person[j]의 이름보다 크다면(양수라면)
				if (person[i].getName().compareTo(person[j].getName()) > 0) {
					//데이터를 교환
					PersonDTO temp = person[i];
					person[i] = person[j];
					person[j] = temp;
				}
			}
		}
	}
	
}
package kr.co.hanuledu.oop1;

public class PersonDTO {

	private String name;
	private int age;
	private float height;
	private float weight;
	private char gender;

	public PersonDTO(String name, int age, float height, float weight, char gender) {
		super();
		this.name = name;
		this.age = age;
		this.height = height;
		this.weight = weight;
		this.gender = gender;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public float getHeight() {
		return height;
	}

	public void setHeight(float height) {
		this.height = height;
	}

	public float getWeight() {
		return weight;
	}

	public void setWeight(float weight) {
		this.weight = weight;
	}

	public char getGender() {
		return gender;
	}

	public void setGender(char gender) {
		this.gender = gender;
	}

	@Override
	public String toString() {
		return "PersonDTO [name=" + name + ", age=" + age + ", height=" + height + ", weight=" + weight + ", gender="
				+ gender + "]";
	}

}
package kr.co.hanuledu.oop1;

public class PersonMain {

	public static void main(String[] args) {
		PersonDTO[] person = new PersonDTO[3];
		
		person[0] = new PersonDTO("홍길동",33,175.5f,75f,'M');
		person[1] = new PersonDTO("나길동",30,172f,68.5f,'M');
		person[2] = new PersonDTO("성춘향",18,165f,48.5f,'F');
		
		// 선언된 PersonDTP[]의 데이터를 가져오기
		PersonDAO personDAO = new PersonDAO(person);
		
		personDAO.display();
		System.out.println();
		System.out.println("====================");
		System.out.println();
		
		personDAO.sortAge();
		personDAO.display();
		System.out.println();
		System.out.println("====================");
		System.out.println();
		
		personDAO.sortName();
		personDAO.display();
		
		
	}

}

 

package kr.co.hanuledu.oop1;

public class ProductDAO {

private ProductDTO[] product;
	
	public ProductDAO(ProductDTO[] product) {
		this.product = product;
	}
	
	// 상품 목록 조회
	public void display() {
		System.out.println("상품명\t상품설명\t가격\t판매자");
		for(int i = 0; i < product.length; i++) {
			System.out.print(product[i].getName() + "\t");
			System.out.print(product[i].getDesc()+ "\t");
			System.out.print(product[i].getPrice()+ "\t");
			System.out.println( product[i].getSeller()+ "\t");		
		}
	}
	
	// 가격 순위 (오름, 내림) // 비싼 거, 싼 거
	public void ascPrice() {
		for (int i = 0; i < product.length; i++) {
			for (int j = i + 1; j < product.length; j++) {
				if (product[i].getPrice() > product[j].getPrice()) {
					ProductDTO temp = product[i];
					product[i] = product[j];
					product[j] = temp;
				}
			}
		}
	}
	
	public void decPrice() {
		for (int i = 0; i < product.length; i++) {
			for (int j = i + 1; j < product.length; j++) {
				if (product[i].getPrice() < product[j].getPrice()) {
					ProductDTO temp = product[i];
					product[i] = product[j];
					product[j] = temp;
				}
			}
		}
	}
	
	
	
}
package kr.co.hanuledu.oop1;

public class ProductDTO {

	private String name;
	private String desc;
	private int price;
	private String seller;

	
	
	public ProductDTO(String name, String desc, int price, String seller) {
		super();
		this.name = name;
		this.desc = desc;
		this.price = price;
		this.seller = seller;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getDesc() {
		return desc;
	}

	public void setDesc(String desc) {
		this.desc = desc;
	}

	public int getPrice() {
		return price;
	}

	public void setPrice(int price) {
		this.price = price;
	}

	public String getSeller() {
		return seller;
	}

	public void setSeller(String seller) {
		this.seller = seller;
	}

	@Override
	public String toString() {
		return "ProductDTO [name=" + name + ", desc=" + desc + ", price=" + price + ", seller=" + seller + "]";
	}

}
package kr.co.hanuledu.oop1;

public class ProductMain {

	public static void main(String[] args) {
		ProductDTO[] product = new ProductDTO[3];
		
		product[0] = new ProductDTO("반팔티", "하얀색", 15000, "무신사");
		product[1] = new ProductDTO("장난감", "아동용", 20000, "티니핑");
		product[2] = new ProductDTO("삼다수", "물1L", 10000, "제주삼다수");
		
		
		// 선언된 PersonDTP[]의 데이터를 가져오기
		ProductDAO productDAO = new ProductDAO(product);
		
		productDAO.display();
		System.out.println();
		System.out.println("====================");
		System.out.println();
		
		// 오름차순
		productDAO.ascPrice();
		productDAO.display();
		System.out.println();
		System.out.println("====================");
		System.out.println();
		
		// 내림차순
		productDAO.decPrice();
		productDAO.display();

	}

}
package kr.co.hanuledu.oop1;

public class tryCatchEx {

	public static void main(String[] args) {
		
		/*
		 * try (~~) catch (~~) : Exception(예외처리)
		 * 정상적인 구간 / 예외적인 구간
		 */
		try {
		System.out.println(args[0]);
		System.out.println(args[1]);
		System.out.println(args[0] + args[1]);
		
		// 래퍼클래스 문자형 숫자 -> 숫자형 숫자 변환
		System.out.println(Integer.parseInt(args[0]) + Integer.parseInt(args[1]));
		} catch (Exception e) {
			 e.printStackTrace();
			 System.out.println(e);
			// System.out.println("값을 입력해 주세요");
		}
	}

}

 

'BackEnd > Backend 공부 정리' 카테고리의 다른 글

Java-12  (0) 2024.08.22
sqldeveloper-11  (0) 2024.08.21
sqldeveloper-10  (0) 2024.08.20
Java-10  (0) 2024.08.20
sqldeveloper-9.1  (0) 2024.08.19