오브젝트 생성 - 클래스명 오브젝트명 ;
오브젝트명 = new 클래스명();
or
클래스명 오브젝트명 = new 클래스명();
필드 - 클래스 안의 변수. main()등 메소드 안에서 정의한 변수는 필드라고 하지않음.
같은 오브젝트 내의 필드를 참조하거나 대입할때 - 필드명을 그대로 기술
다른 오브젝트의 필드를 참조하거나 대입하기 위해서는 '.(피리오드)'를 사용하여 기술.
ex) 대입 - 오브젝트명.필드명 = 5;
참조 - 오브젝트명.필드명 + 5;
메소드 - 반환값의형 메소드명(){}
같은 클래스의 메소드 호출 - 메서드명();
다른 클래스의 메소드 호출 -오브젝트명.메서드명();
메소드 선언 - 메소드가 하는 작업을 정의한 것
메소드 호출 - 필요한 곳에서 메소드를 사용.
★ 멤버 변수
멤버 변수는 메소드 밖에서 선언된 모든 것
멤버 변수는 객체가 가질 수 있는 속성들을 나타냄
> 멤버변수선언
[public / private / protected] [static / final] 변수형 변수명;
★ 멤버변수의 구분
멤버 변수
┌───────┼───────┐
객체변수 클래스변수 종단변수
(static,final제외한) (static) (final)
┌──┴──┐
객체속성변수 객체참조변수
(기본자료형) (기본자료형 외)
● 클래스 변수
> static : 클래스 변수 : 전역변수의 개념
> 객체 변수(개체참조, 객체 속성)는 객체가 생성될 때마다 각 객체에 변수들이 생성되지만,
클래스 변수는 클래스로부터 생성된 객체들의 수와 상관없이 하나만 생성
> 한클래스로부터 생성된 모든 객체들은 클래스 변수를 공유
> 클래스변수를 이용하여 객체들 사이의 토인에 사용하거나 객체들의 공통 속성을 나라낼 수 있다.
> 객체변수와는 달리 클래스 변수는 클래스 이름을 통하여 접근
왜냐하면 객체에 생성되는 것이 아니기 때문
● 종단변수
final : 상수 : 값이 변하지 않는 것
예약어 final을 사용하여 종단변수 지정
변할 수 없는 상수값을 나타낸다.
종단 변수는 관례상 대문자로 표기한다.
final int MAX = 100;
final int MIN = 1;
● 객체변수
> static과 final이 붙지 않은 변수
> 객체가 가질 수 있는 특성을 표현
1) 객체속성변수 : 객체가 가질수 있는 속성을 나타내는 값으로서 기본 자료형의 값들로 구성
기본자료형 ? char, boolean , int 등등등
2) 객체참조변수 : 객체를 지정하는 변수,
자바에서는 기본 자료형을 제외한 모든 요소들을 객체로 취급
객체에 대한 주소
★ 접근방법
클래스변수 : 클래스이름.클래스변수
객체 속성 변수 : 객체이름.객체속성변수
★ 멤버변수 접근 한정자
> 접근 한정자가 없는 멤버 변수는 동일한 패키지와 하위 클래스에서 활용이 가능하다
● public
> public으로 선언된 객체 변수는 소속된 클래스가 접근가능하면 항상 접근 가능하다
public int a
public int b
..
● private
>private으로 선언된 객체 변수는 소속된 클래스 내에서만 사용 가능하다
● protected
> protected로 선언된 객체 변수는 소속된 클래스의 하위 클래스와 소속된 클래스와 같은 패키지의 클래스에서만 사용 가능
> extends를 이용하여 상위 클래스의 하위 클래스로 생성
★ 변수의 유효범위
그 변수가 유요한 범위 = 그 변수를 사용할 수 있는 범위
1) 멤버변수 : 클래스 시작~끝 . 어디서다 다 쓸 수 있다.
2) 메소드 내에 생성된 매게 변수 : 메소드 시작~끝
a메소드
b메소드
b메소드를 a메소에서 쓸 수 없다.
3) 예외 처리기 매개변수는 그 안에서만 가능
[출처] [JAVA] 멤버 변수|작성자 별걸