전체 글 (141) 썸네일형 리스트형 Properties 예시 public class ProductUser { java.util.Scanner sc = new java.util.Scanner(System.in); // non-static 변수는 객체가 생성될 때 메모리에 할당된다 // 그래서 ProductUser user = new ProductUser(); 해줬음 //ProductDAOArray dao = new ProductDAOArray(); //ProductDAOInterface dao = new ProductDAOArray();// 업캐스팅해서 쓰자 //ProductDAOInterface dao = new ProductDAOList(); ProductDAOInterface dao;// 의존성주입, getResourceAsStream를 통해 결정 Produc.. ArrayList, HashSet, HashMap 예시 import java.util.ArrayList; import java.util.Collection; import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import com.my.product.dto.Product; import com.my.customer.dto.Customer; public class CollectionTest { public static void test(Collection c) { c.add("one"); //c.add(new Integer(2));// deprecated 문법, 예전 버전에서는 쓰였으나 현재버전 사용안하는것 // 아래걸로 대체 c.add(Int.. Product 예제 3 ※ 컬렉션 프레임워크 자료구조형으로 바꾸기 package com.my.product.dto; import java.util.Objects; public class Product { private String prodNo; private String prodName; private int prodPrice; public Product() { } public Product(String prodNo, String prodName) { this(prodNo, prodName, 0); } public Product(String prodNo, String prodName, int prodPrice) { if(prodNo.length() != 5) { System.out.println("상품번호는 5자리어야합니다").. Product 예제 2 ※ 상품 수정, 삭제 기능 추가 public interface ProductDAOInterface { /** * 변경할 상품의 상품번호와 같은 상품을 저장소에서 찾아낸다 * 변경할 상품의 상품명 또는 가격으로 저장소 상품정보를 변경한다 * @param p 변경할 상품. 상품번호는 반드시 필요, * p의 가격이 0이면 저장소 상품의 가격 변경안함, * p의 이름이 null이면 저장소 상품의 이름 변경안함 * @throws ModifyException; 변경할 상품이 없으면 예외발생한다 */ void update(Product p) throws ModifyException; /** * 상품을 삭제한다 * @param prodNo 상품번호 * @throws RemoveException; 삭제할 상품이 없으면 .. 제네릭(element generic), ArrayList, HashSet 예시 ※ 제네릭 자료구조에 특정자료형만 들어가게 정할 수 있음 . Generic 풀네임은 element generic, c의 개념 가져온것 public class Box { public Object content; } Box는 다양한 내용물을 저장해야 하므로 특정 클래스 타입으로 선언할 수 없다. Object 타입은 모든 클래스의 최상위 부모 클래스이다. 모든 객체는 부모 타입인 Object로 자동 타입 변환이 되므로 content 필드에는 어떤 객체든 대입이 가능하다. 하지만 이 방법을 쓰면 내용물이 String 타입이면 String content = (String) box.content; 로 강제 형변환을 통해 내용물을 얻어야 한다. 좋은 방법이 아님. 제네릭은 결정되지 않은 타입을 파라미터로 처리하고 실.. 향상된 for문 ※ 배열이나 자료구조에서 사용 가능하다. public class ProductDAOList implements ProductDAOInterface { private List products; @Override public void insert(Product product) throws AddException { for(int i = 0; i 컬렉션 프레임워크(Java Collection Framework) ※ 컬렉션 프레임워크(Java Collection Framework) JCF라이브러리, 자료구조용 라이브러리. 크기가 가변적이다. 늘어난다. cf) 배열 : 크기가 고정되어 있는 단점이 있지만 처리속도가 가장 빠른 자료구조형이다. 예전에는 자료구조형라이브러리는 Vector, Hashtable 뿐이었는데 Java JDK 1.2 ver (=java 2 ver) 이후부터 자료구조형라이브러리가 많이 생김 ※ UML(Unified Modeling Language) 표기법에 따라 실선은 클래스 간의 연관 관계(Association) 점선은 의존성(Dependency), 집합(Aggregation), 합성(Composition) 등의 관계 여기서는 Java Util의 Collection 인터페이스를 List와 Set.. 어노테이션(Annotation) ※ 코드에서 @으로 작성되는 요소를 어노테이션이라고 한다. annotation - 주석 : 컴파일/실행에 영향을 준다 cf) comment - 주석 : 컴파일/실행에 영향을 주지 않는다 ※ @Override // 오버라이드 어노테이션이라고 읽으면 된다. @Override 했는데 오버라이딩 안하면 컴파일 에러 남 @Target : 어노테이션 올 수 있는 위치, 여기서는 메서드 앞에 선언하는 어노테이션 @Retention : 컴파일 시에 영향을 미치는/컴파일러에게 영향을 끼치는 어노테이션이라는 뜻 이전 1 ··· 8 9 10 11 12 13 14 ··· 18 다음