클래스 선언
속성값 설정 = 필드(- private)
클래스 이름과 동일한 메서드 = 생성자
getter/setter메서드(+ public)
클래스 접근제한자
[] => 생략가능
() => 무조건생략
public
누구나 쓸 수 있음(공공의) : 어디서든지 import 할 수 있다
default
외부 패키지에서 사용 못함(접근불가), 같은 패키지내에서만 사용 가능
DAO(Data Access Object)
DTO(Data Transfer Object) == getter/setter만 가진 클래스
VO(Value Object)
예)
service = 메서드들의 모음
cls.model.vo
cls.model.service
cls.run
객체(속성, 기능)
속성)클래스에서 변수에 관련된 것(속성)을 작성하는 곳
필드 : 객체의 속성을 작성하는 클래스 내부 영역
=> static으로 선언된 멤버변수로,
프로그램 실행 시 static(정적메모리 영역)에 자동할당되며,
프로그램 종료 시 자동 소멸
인스턴스 변수
지역변수
메소드 또는 제어문 안에서 선언된 변수
(stack 메모리 영역)에 할당 되었다가,
메소드 종료시 소멸됨
필드 접근제한자 정리
public + 해당 클래스 내부 / 같은 패키지 내 / 후손 클래스 내 / 전체
protected # 해당 클래스 내부 / 같은 패키지 내 / 후손 클래스 내
(default) ~ 해당 클래스 내부 / 같은 패키지 내
private - 해당 클래스 내부
필드 (field) - 초기화 순서
클래스 변수
인스턴스 변수