4. 객체
- 객체 : 그룹화한 것. 클래스에 정의된 내용대로 생성하고 객체를 내부 영역에 생성하는 것
- vo : value object - 자바빈 형태로 구현한 클래스, 계층간 데이터를 교환하기 위한 자바빈즈, 테이블 컬럼을 모아놓은 단위, 데이터 전달 및 표현 관리
- 클래스 = 구조체 + 함수(메소드) = 필드 + 생성자 + 메소드
- 접근제한자 : public > protected > default > private
public : 어디서든 (같은 패키지, 다른 패키지 모두) 접근 가능
protected : 같은 패키지 접근 가능 + 만약 다른 패키지라면 상속구조에서는 접근 가능
default : 같은 패키지에서만 접근 가능
private : only 해당 클래스에서만 접근 가능
- 클래스의 구조
public class 클래스명 {
//필드부
//생성자부
//메소드부
}
<캡슐화 원칙>
멤버변수 private
클래스 내부 안에 작성
public 연산처리하는 함수는
1. 필드부
- 표현법
접근제한자 자료형 변수명;
- 필드부 접근자 à private 으로 캡슐화
2. 생성자부
- 표현법
접근제한자 클래스명 ( [매개변수] ) { }
- 객체를 생성하기 위한 일종의 메소드
- 접근제한자 : public à 다른 클래스에서 생성하려는 목적이므로
- 매개변수 없는 생성자 à 기본생성자 (단지 생성만을 목적으로 함)
- 생성자를 작성하는 목적
1. 객체를 생성하기 위함
2. 매개변수로 전달받은 값들을 필드에 바로 초기화하기 위함
- 생성자 작성시 주의사항
1. 반드시 클래스명과 동일해야한다.(대소문자 구분)
2. 반환형이 존재하지 않는다.
3. 매개변수 생성자를 명시적으로 작성하게 되면 기본생성자를 JVM이 자동으로 만들어주지 않는다.
3. 메소드부
- 표현법
[접근제한자] [예약어] 반환형 메소드형 ( [자료형] [매개변수명] ) {
수행내용;
[return 반환값;]
}
- setter메소드 : 데이터 기록, 수정하는 메소드 à public으로 써야함
- 매개변수 : 해당 메소드 호출시 전달되는 값을 받기 위한 변수 선언문. 해당 메소드 내에서만 사용 가능.
- getter메소드 : 데이터를 반환해주는 기능을 하는 메소드
- 매개변수가 없음 à 필드에 담겨있는 값을 반환만 시켜주면 되기 때문에 이 메소드로 전달되는 값은 없다.
단, 반환하고자 하는 값의 자료형을 써줘야 함.
- 전역변수 : 클래스 영역에 바로 선언하는 변수 à 클래스 내 어디서든 사용 가능
- 멤버변수 (인스턴스 변수)
생성 : new 연산자를 통해 객체 생성시 메모리 할당
소멸 : 객체 소멸 시 같이 소멸
- 클래스변수 (static 변수)
생성 : 프로그램 실행과 동시에 무조건 static 메모리 영역에 할당
소멸 : 프로그램이 종료될 때 소멸
- 지역변수 : 클래스 영역 안의 어떤 특정한 구역( { } )에 선언하는 변수 à 그 지역에서만 사용 가능.
생성 : 특정한 구역( { } ) 실행(호출) 시 메모리 영역에 할당.
소멸 : 특정한 구역( { } ) 종료 시 소멸
- 지역변수는 메소드 안에서만 사용하기 때문에 접근제한자를 붙이지 않는다.
- 상수 필드 : public 접근제한자에 static과 final 예약어를 함께 사용하는 것을 상수필드라고 한다.
static 키워드가 붙은 변수는 전부 static 영역에 저장되기 때문에
반드시 선언과 동시에 값을 초기화 해야한다.
- 오버로딩 : 동일한 메소드명을 사용하는 것. 매개변수의 자료형과 개수, 순서가 다르게 작성되어야 한다.
(접근제한자, 반환형은 상관없음)
- 추상화 : 유연성을 위해서 씀. 중요한 정보만 추출하여 분류하기 위함.
- this. 필드값 this() 주소반환
- 객체지향 3대 원칙 : 캡슐화, 상속, 다형성, 추상화
'Java' 카테고리의 다른 글
자바 요약 정리 - 다형성 (0) | 2021.07.06 |
---|---|
자바 요약 정리 - 상속 (0) | 2021.07.06 |
자바 요약 정리 - 제어문 (0) | 2021.07.06 |
자바 요약 정리 - 연산자 (0) | 2021.07.06 |
자바 요약 정리 - 변수 (0) | 2021.07.06 |