posted by changhozz 2012. 5. 11. 10:52
레퍼런스 값에 대해서 : 프로그램에서 사용하는 방법은 프리미티브 타입과 크게 다르지는 않지만 변수에 데이터를 대입하고 나면 변수가 마치 그 데이터인것 처럼 사용할수 있다. 하지만 코드가 컴파일되고 실행시에 하는일은 전혀 다르다. 프리미티브 타입 변수에 값을 대입하면 실제로 그 값이 변수에 저장되지만 레퍼런스 타입 변수에 객체를 대입하면 객체가 변수에 저장되는 것이 아니라 메모리상에 객체가 있는 위치를 가리키는 정보만이 변수에 저장된다.(레퍼런스 값, 참조 값)

 

 

posted by changhozz 2012. 5. 10. 23:12

오브젝트 생성 - 클래스명 오브젝트명 ;
                오브젝트명 = new 클래스명();
                or
                클래스명 오브젝트명 = new 클래스명();

필드 - 클래스 안의 변수. main()등 메소드 안에서 정의한 변수는 필드라고 하지않음.
같은 오브젝트 내의 필드를 참조하거나 대입할때 - 필드명을 그대로 기술
다른 오브젝트의 필드를 참조하거나 대입하기 위해서는 '.(피리오드)'를 사용하여 기술.
ex) 대입 - 오브젝트명.필드명 = 5;
    참조 - 오브젝트명.필드명 + 5;

메소드 - 반환값의형 메소드명(){}
같은 클래스의 메소드 호출 - 메서드명();
다른 클래스의 메소드 호출 -오브젝트명.메서드명();      

메소드 선언 - 메소드가 하는 작업을 정의한 것

메소드 호출 - 필요한 곳에서 메소드를 사용.

 

posted by changhozz 2012. 5. 10. 22:50

★ 멤버 변수

멤버 변수는 메소드 밖에서 선언된 모든 것

멤버 변수는 객체가 가질 수 있는 속성들을 나타냄

> 멤버변수선언

[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] 멤버 변수|작성자 별걸