본문 바로가기

자바(java)

(15)
DTO(Data Transfer Object) 클래스 - 데이터 저장 전용 클래스 - gettets/setters, hashCode()&equals() 오버라이딩, toString() 오버라이딩의 메서드만 있다. 1. 클래스의 이름은 ~DTO, ~TO, ~VO 로 정한다. 2. Serializable 인터페이스를 구현한다. (마우스 올려놓기) - Serializable 안에는 아무것도 없다. - 그러나 jvm은 이 인터페이스를 구현한 클래스의 객체에 대해서만 직렬화를 지원한다. 3. UID값을 정해준다. (ex. 100L) (add defualt serial version ID) 4. DB의 해당 테이블을 보고 변수 선언을 한다. - 접근제한자: 무조건 private 5. 디폴트생성자 생성 6. 사용자생성자 생성 7. getters/setters 생성(외부..
인터페이스(Interface) - public static final 상수와 public 추상메서드로 이루어진 자원이다. (앞의 키워드들은 생략 가능) - 다형성, 오버라이딩 지원 - implements: class와 interface사이에서 상속할 때 - extends: class끼리 또는 interface끼리 상속할 때 - 다중 상속이 가능하다. public interface Inter2 { // 인터페이스의 구조 public static final int a = 10; // public static final상수 final int B = 20; // 상수 public void me1(); // public 추상메서드 public abstract void me2(); // 추상메서드 abstract int me21(); // 추상..
Final(변수, 메서드, 클래스) final 키워드는 변수, 메서드, 클래스에 사용될 수 있다. final 변수 - 변수에 final을 붙이면 상수가 된다.(한 번 할당하면 수정 불가) - 상수 선언 시, 상수명은 전부 대문자로, 띄어쓰기대신 _(언더바) 처리해야 한다. - 상수의 초기화는 상수 선언 시에 해도 되고, 생성자 안에서도 가능하다. public class Test { private final int HERO_LEVEL_1_ATTACK_POWER = 10; private final int HERO_LEVEL_2_ATTACK_POWER; public Hero( ){ HERO_LEVEL_2_ATTACK_POWER = 20; } public Hero(int a){ HERO_LEVEL_2_ATTACK_POWER = a; } } fin..
상속 (Inheritance) 상속 public class Dog extends Animals{ } // Dog클래스가 Animals클래스를 상속 받는다. - 부모클래스의 자원을 자식클래스에서 사용할 수 있게 하는 것. - 자식/하위/서브클래스가 부모/상위/슈퍼클래스로부터 상속을 받는다. - 같은 변수와 같은 메서드를 갖고 있을 때 상속을 사용할 수 있다. - 상속받는 대상: 부모클래스의 변수/상수와 메서드 (생성자 또는 접근제한자가 private인 필드나 메서드는 상속불가) - 단일 상속만 가능 - super 와 super( ) - super: 부모클래스의 객체 - super( ): 부모클래스의 디폴트/사용자 생성자 호출 public class Animals { private int id; private String name; pr..
String 클래스 String클래스의 명시적 개체 생성법 String msg = new String("hello"); String클래스의 암시적 개체 생성법 String str = "hello"; 동일성비교(==): 기본 자료형에 사용함. System.out.println(msg == str); -----------Console------------ false 동등성비교(.equal( )): 참조 자료형에 사용함. System.out.println(msg.equals(str)); -------------Console----------------- true String 클래스의 불변적 특징 - 문자열을 변경하기 위해서는 기존 문자열을 변경하지 못하고 새로운 문자열을 생성할 수 있다. - 이런 작업을 반복하게 된다면 쓰레기 ..
스태틱(클래스)변수와 인스턴스변수 변수의 분류 - 선언되는 위치에 따른 변수의 분류 - 멤버변수 - 매개변수 - 지역변수 - 저장되는 위치에 따른 변수 분류 - 인스턴스 변수 - 스태틱(클래스) 변수 1. 인스턴스 변수, 메서드 - 클래스를 이용하여 객체를 생성하면. 그 때마다 인스턴스 변수가 생성됨. - 객체를 생성해야만 호출 가능 ex) 어떤 클래스 안에 int a라는 멤버변수가 있다. -> 이 클래스를 이용해서 객체(인스턴스)를 100개 만들었다 -> 멤버변수 a는 몇 개 생성되는가? 100개 - 표기 => 객체명.변수명 객체명.메서드명 2. 스태틱(클래스) 변수, 멤서드 - 프로젝트의 특정 클래스의 변수에 static키워드가 붙으면 곧 바로 메모리에 로딩이 되는 변수 - 객체를 생성하지 않아도 호출 가능 - static키워드를 사..
배열 (Array) 배열의 정의: 자료형이 같은 값을 메모리에 붙여 관리하는 기술 배열 선언 공식 1. 자료형[ ] 배열명 = {자료형에 맞는 값1, 자료형에 맞는 값2, ...}; 배열 요소 출력 배열명[index] - 첫번째 요소 가져오기: 배열명[0]; - 마지막 요소 가져오기: 배열명[배열명.length-1]; 배열 요소 변경 배열명[index] = 변경할 값; split(나누기) ex1) String msg = "m001#이순신#29#서울"; String[] arr = msg.split("#"); for(int i=0; i m001 이순신 29 서울 ex2) 1, 2, 3, ..., 10 int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; for(int i=0; i aaa (//Dog클..