1) public class Member {//회원클래스 private String name;//이름 private int no;//회원번호 private String id;//아이디 private String password;//비밀번호 private int age;//나이 private String addr;//주소 public Member(String name, int no, String id, String addr, int age) { this.name = name; this.no = no; this.id = id; this.addr = addr; this.age = age; } public String getName() { return name; } public int getNo() { retu..
컬렉션 프레임워크객체들을 효율적으로 추가,삭제,검색할 수 있도록 제공되는 컬렉션 라이브러리java.util 패키지에 포함되어 있어 import java.util.*; 필요인터페이스를 통해 정형화된 방법으로 다양한 컬렉션 클래스 이용list, set, map컬렉션 프레임워크 사용시 원소의 데이터타입은 제네릭을 사용하여 명시한다 배열의 문제점 배열의 길이는 고정되어 변경할 수 없음빈칸을 계속 빈칸으로 유지함List가장 배열과 유사한 컬렉션 프레임워크인덱스를 가지고 대입된 원소의 순서를 유지하고 있으며 중복데이터 허용 구현 클래스 ArrayList Vector LinkedList List 인터페이스에 arrayList 담기List 인터페이스는 그저 통로! List 인터페이스를 통해 arrayList에 넣게 되..
제네릭 타입타입파라미터는 원하는 만큼 안에서 ,(콤마) 구분자로 여러개 선언할 수 있다제네릭타입 객체 생성시 타입 파라미터 갯수만큼 타입을 넘겨 생성해야 한다 1) public class D { public K field01; public V field02; public static void main(String[] args) { D d = new D(); d.field01 = "100"; //d 변수의 객체 생성시 첫번째 타입(String) field01 타입을 결정짓기 때문 d.field02 = 100; //d 변수의 객체 생성시 두번째 타입(Integer) field02 타입을 결정짓기 때문 D dd = new D(); dd.field01 = 100; dd.field02 = ..
제네릭 클래스 선언시에는 결정하지 못한 필드 또는 매개변수 또는 메소드의 리턴타입을 객체가 생성시에 결정짓도록 하는 방법타입변수는 래퍼클래스 사용제네릭 클래스 사용시 생성 객체를 담는 변수에도 반드시 기호를 사용하여 타입의 데이터타입을 결정해줘야 한다생략시 Object 타입으로 받는다원리 : 타입파라미터라고 하는 외부에서 타입을 전달받을 수 있는 타입변수 사용하여 객체 생성시 타입변수로 타입을 전달받아 객체 내부의 데이터타입을 결정짓는다다이아몬드 문법 : 제네릭을 사용한 객체 생성시 왼쪽의 클래스 변수의 타입을 보고 오른쪽 타입을 예측할 수 있다면 타입값을 생략하는 문법을 의미(자바 8버전 이상부터 사용할 수 있다)제네릭 타입을 갖는 부모 클래스를 상속받는 경우 자식쪽에서 부모의 타입을 결정할 수 ..
Date 클래스현재 날짜 객체를 생성할 때 사용날짜 객체를 원하는 문자열 포맷으로 만들때만 주로 사용날짜 정보를 각각 추출하는 것은 불가능하다import java.util.Date; 필요 SimpleDateFormat 클래스 Date 객체를 원하는 날짜 포맷으로 만들어줌import java.text.SimpleDateFormat; 필요 import java.text.SimpleDateFormat;import java.util.Date;public class Main04 { public static void main(String[] args) { Date today = new Date(); System.out.println(today); //국제표준시간으로 출력됨 ..
생성된 객체의 주소값을 문자열화하여 반환(클래스명@16진수해시코드)주로 엔티티 클래스에서 생성된 객체의 필드 정보를 문자열로 반환하는 역할로 재정의하여 사용클래스 변수를 콘솔에 그대로 출력하면 toString()의 문자열 결과가 출력된다재정의하려는 클래스에서 마우스 우클릭 -> source -> generate toString으로 재정의한 메소드 생성가능선언부 public String toString() {} 1) toString() 재정의하고 출력 a. toString() 과 클래스 변수를 콘솔에 그대로 출력한 값은 같다 public class A { public String field01 = "A의 필드1"; public String field02 = "A의 필드2"; public String fie..
자바 api : 자바에서 기본적으로 제공하는 라이브러리 : 프로그램 개발에 자주 사용되는 클래스 및 인터페이스 모음 java.lang : 자바 언어의 기본적인 클래스를 담고 있는 패키지 : import 하지 않고도 사용 가능 Object : 자바의 최상위 부모 클래스: extends 키워드가 없는 클래스는 부모가 Object 클래스이다매개변수로 Object 타입을 받기 때문에 모든 객체 타입을 다 매개값으로 보낼 수 있다Object가 제공하는 equals 메소드의 목적은 서로 다른 그릇의 주소값을 비교하여 물리적으로 동등 객체인지 여부를 반환한다(주소값 비교)주로 하위 클래스에서 객체간의 논리적 동등비교를 위하여 재정의하여 사용한다public boolean equals(Object o){ return t..
에러 -하드웨어의 잘못된 동작 또는 고장으로 인한 오류 -정상 실행 상태로 돌아갈 수 없음 -> 더 치명적임 예외 -사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인한 오류 -예외 처리 추가하면 정상 실행 상태로 돌아갈 수 있음 일반예외 : 빨간줄이 뜨면서 에러를 바로 확인 가능 실행예외 : 콘솔에 출력되는 예외. 실행해봐야 에러 확인 가능 예외처리 코드! try{ //예외가 발생할 수도 있을 법한 실행코드들을 감싸는 위치 }catch(발생할 수 있는 예외 클래스){ //해당 예외가 발생했을 때 실행될 코드들을 감싸는 위치 }finally{ //try 안의 실행문이 정상종료되거나 catch가 실행된 후 //맨 마지막으로 반드시 실행되는 코드들을 감싸는 위치 }발생할 수 있는 대..
익명 객체 (챕터9)클래스 없이 생성될 수 있는 객체를 의미함추상클래스의 자식 객체 생성 또는 인터페이스의 구현 객체 생성시 사용BoardInterface bi = new BoardInterface() { //일회용 BoardInterface의 구현 클래스를 정의하는 위치 @Override public void modify(int bno, String title) { System.out.println("익명 구현 객체를 통한 호출"); } @Override public void insert() { } @Override public void view() { } @Override public void delete() { }};..
인터페이스두 컴포넌트 간의 중간 통신망개발 코드(Main)와 객체가 서로 통신하는 접점*개발자가 기능을 정의하고 있는 곳이 개발코드 입장이다협업을 할때 인터페이스를 활용하여 메소드 정형화인터페이스는 어떤 구현객체가 대입되어 있느냐에 따라 같은 추상메소드 호출이지만 결과가 달라지는 다형성을 구현하게된다인터페이스 타입 변수에는 인터페이스의 구현 클래스로 생성된 구현 객체만 대입 가능상속에서도 부모에 모든 자식 타입이 대입되는 원리를 사용하여 다형성을 구현할 수 있으나, 잘 사용되어 지지는 않는다.개발소스와 객체간의 결합을 끊어 중간 매개체 역할을 하여 정형화 되어 있는 메소드를 제공함으로써 개발소스에서는 호출해야하는 메소드만 알고 있다면 대입된 객체가 누구냐에 따라 실행 결과가 다양해 질수 있는 기능을 의미..