Programming/JAVA

[JAVA] 필드(Field) / 메소드(Method) / 관련 예제

Jayna. 2023. 12. 22. 16:20
728x90

필드(Field) 

클래스를 구성하는 요소 중 하나로 클래스 내부지만 메소드 밖 영역에 정의한다.
어떠한 데이터를 저장하기 위한 역할(변수)

변수 구분

- 전역변수 : 클래스 영역에 바로 선언하는 변수(public static)

- 지역변수 : 클래스 영역 내의 특정구역({ }) => 메소드, for문 등등...

                 for(int i=0; 조건식; 증감식;){}  => 초기식에서 선언된 i도 지역변수

1) 전역변수 

  - 멤버 변수(인스턴스 변수, 필드)

     생성 시점 : new 키워드를 사용하면 해당객체를 생성하는 순간 메모리 영역에 할당 => heap영역

     소멸 시점 : 객체가 소멸될 때

 - 클래스 변수(static 변수)

     생성 시점 : 프로그램 실행과 동시에 => 해당 객체가 생성이 안돼도 무조건 프로그램 실행과 동시에 할당됨
     소멸 시점 : 프로그램이 끝날 때 소멸
2) 지역변수 

      생성 시점 : 특정한 구역({ }) 실행시 메모리 영역에 할당

      소멸 시점 : 특정한 구역({ }) 종료시 소멸 

- 필드에서 사용가능한 접근제한자 4가지

 (+)public : 어디서든(같은 패키지, 다른패키지 모두) 접근 가능하게 하고싶다.
 (#)protected : 같은 패키지면 무조건 접근가능, 다른 패키지면 상속구조인 클래스에서만 접근가능
 (~)default : 오로지 같은 패키지에서만 접근가능, 생략 가능
 (-)private : 오직 해당 클래스 안에서만 접근가능

 

   => 위에서부터 아래로 내려갈수록 접근할 수 있는 범위가 좁아진다.
   => +, #, ~, - : 클래스 다이어그램 표기방법.

 

- 상수 필드(static field)

public static final 자료형 상수필드이름 = 값;

 

 => 한번 지정된 값을 고정해서 쓴다. 그래서 무조건 초기화 해줘야함
 => 예약어 순서는 상관없음 public final static으로 써도 됨
static : 공유의 개념(재사용성)
final : 한번 지정해놓고 변경하지 않겠다(상수선언)
값이 변경되어서는 안되는 고정적인 값을 메모리상(static)에 올려놓고 공유할 목적으로 사용
(프로그램이 시작과 동시에 메모리 영역에 할당, 값이 변하지도 않음)

728x90

메소드(Method)

접근제한자 예약어 반환형 메소드이름(매개변수의 자료형 매개변수이름) {
	수행할 코드;
	return 반환값;
 }

 

 

1. 매개변수와 반환값 둘다 없는 메소드

 

2. 매개변수는 없고, 반환값은 있는 메소드

 

3. 매개변수는 있고, 반환값은 없는 메소드

 

4. 매개변수와 반환값 둘다 있는 메소드

728x90