// 라이브러리 import 필요없음
System.out.println(Math.random());
// 필요함
import java.util.Random;
Random r = new Random();
System.out.println(r.nextInt(3)); // 0, 1, 2 중 출력
import java.util.Arrays;
int[] sus = new int[] {11, 22, 33, 1, 1, 2, 2, 3, 3};
System.out.println(Arrays.toString(sus)); // 배열 괄호까지 풀 출력
System.out.println(Arrays.stream(sus).sum()); // 배열 합 출력
System.out.println(Arrays.stream(sus).distinct().toArray()); // 중복 제거
// [I@47d384ee, INT 배열 이라는 뜻이고 값 출력은 foreach문으로 하면 됨
// stream 함수는 jdk 8 이상에서만 사용 가능
import java.util.HashSet;
Integer[] sus2 = new Integer[] {1, 1, 2, 2, 3, 3};
System.out.println(new HashSet<>(Arrays.asList(sus2)); // [1, 2, 3]
생성자, get
, set
, toString()
함수의 override 등은 모두 툴에서 기본제공하는 기능이 있다.
// Person.java
package test.com;
public class Person {
public int num;
public String name; // NULL
public int age = 0;
public static String tel = "010-1234-1234";
{ // 초기화 블럭, 여기에 써도 초기화 된다.
num = -1;
name = "Noname";
age = -1;
}
static { // static 블럭
tel = "010-3333-4444";
}
public Person() { // 생성자
System.out.println("Person()...");
num = 11;
name = "kim";
age = 22;
}
public Person(int x) { // 매개변수 넣어서 오버로딩 가능
System.out.println("Person(int x)...");
num = x;
name = "Lee";
age = 32;
}
public Person(String s) {
System.out.println("Person(String x)...");
num = 13;
name = s;
age = 42;
}
public Person(int a, int b) { // 매개변수 넣어서 오버로딩 가능
System.out.println("Person(int a, int b)...");
num = a;
name = "Park";
age = b;
}
public Person(int num, String name, int age) { // 매개변수 넣어서 오버로딩 가능
System.out.println("Person(int num, String name, int age)...");
this.num = num;
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person [num=" + num + ", name=" + name + ", age=" + age + "]";
}
}
// main.java
package aaa.bbb;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
import test.com.Person;
public class Test01main {
public static void main(String[] args) {
System.out.println("Start main...");
String[] student = new String[] {"1", "kim", "99", "88", "77", "264", "88.0", "B"};
System.out.println(Arrays.toString(student));
// List<String> lst = new ArrayList<>();
List<String> lst = Arrays.asList(student); // 위 아래 택1. 그냥 출력하면 대괄호에 싸여서 모두 문자인 걸로 치고 나온다.
// 1. 여러 타입의 정보를 담을 수 있는 필드 설정
Person p = new Person(); // 생성
System.out.println(p.num);
System.out.println(p.name);
System.out.println(p.age);
Person p2 = new Person(20); // 매개변수와 함꼐 생성
System.out.println(p2.num);
System.out.println(p2.name);
System.out.println(p2.age);
Person p3 = new Person("Choi"); // 매개변수와 함꼐 생성
System.out.println(p3.num);
System.out.println(p3.name);
System.out.println(p3.age);
Person p4 = new Person(20, 30); // 매개변수와 함꼐 생성
System.out.println(p4.num);
System.out.println(p4.name);
System.out.println(p4.age);
System.out.println(Person.tel); // public static 변수 접근
// 2. 필드에 대한 초기화 설정을 하는 생성자 정의. 객체를 생성하는 타이밍에 초기화한다.
// 3. 필드 값의 설정과 각종 기능을 담당하는 메소드(함수) 정의
// 4. 클래스 내부의 클래스(내부 클래스 or 중첩 클래스) 정의
// 5. 관계설정을 통한 상속(단일, 다중)
}
}
// Value Object
public class MemberVO {
private int num;
private String name;
private String id;
}
get
, set
함수로 진행한다.public class MemberDAO {
// 기능 위주의 객체
public int insert(MemberVO vo) {
// DB와 연동해서 실행처리
return 0;
}
public int update(MemberVO vo) {
// DB와 연동해서 실행처리
return 0;
}
public int delete(MemberVO vo) {
// DB와 연동해서 실행처리
return 0;
}
public MemberVO[] searchList(String searchKey, String searchWord) {
// 특정 조건이 맞는 유저의 목록 반환
return new MemberVO[n]; // 실제 사용할 때는 가변 배열
}
public MemberVO[] selectAll(MemberVO vo) {
// 모든 회원의 목록 반환
return new MemberVO[n];
}
public MemberVO selectOne(MemberVO vo) {
// 회원의 일부 정보를 통해 검색한 회원 정보를 반환
return new MemberVO();
}
}
DAO
는 이런식으로 만들어 주면 된다.