검수요청.png검수요청.png

필드 (자바)

위키원
Asadal (토론 | 기여)님의 2020년 8월 4일 (화) 21:01 판
이동: 둘러보기, 검색

필드(field)란 클래스를 구성하는 요소 중 하나로 클래스 내부 멤버이다. 어떠한 데이터를 저장하기 위한 역할을 담당하며 클래스 내부의 생성자와 메소드 밖에 정의가 된다. 그 밖에 데이터 베이스에서도 칸과 열을 필드로 사용한다.

개요

필드는 클래스에서 내부 멤버이기 때문에 멤버 변수라고도 불리며, 클래스 내 전역에서 사용하기 때문에 전역 변수라고도 불리며 데이터를 저장하기 위한 역할을 담당하며 생성자와 메소드 밖에서 사용한다. 데이터베이스에서의 필드는 세로 방향으로 표시한 컬럼(column)을 말한다. 칸, 열(列) 또는 컬럼이라고도 한다. 데이터베이스 필드(database field) 또는 디비 필드(DB field)라고도 한다. 필드는 디비 테이블(DB Table)에서 가로로 표시한 레코드(record)에 대한 개별적인 속성(attribute) 값을 표시한다. 필드의 반대말은 레코드(record)이다.

특징

필드의 경우 다른 지역변수들과 다르게 초기화를 하지 않아도 기본값이 자동으로 초기화 된다는 특징을 가지고 있다. String의 경우 null, int의 경우 0으로 초기화 된다. 그리고 해당 클래스 내의 모든 메소드에 접근이 가능하다. 생성의 경우 객체가 생성될 때 함께 생성되며, 생성된 객체를 더 이상 참조하지 않을 때 가비지 컬렉터(Garbage Collector)에 의해서 제거된다. [1]

활용

자바에서 필드를 사용하기 위해서는 코드 내에 선언을 해주어야 한다.

활용 위치

클래스 내의 필드는 멤버 변수 혹은 전역 변수라고도 하기 때문에 클래스 내부 중괄호 안 어느 위치에서나 선언이 가능하다. 하지만 메소드 혹은 생성자의 밖에 선언되어야 한다. [2]

public class 클래스이름 {
	
	int a; //필드선언
	
	//메소드
	public void method(){
	 	int a; //지역변수
	}
}

활용 방법

필드 선언의 필수 입력 사항은 자료형과 변수명이며 이 외의 접근제한자나 static 등의 사항들은 목적에 따라 추가 할 수 있다. 필드의 경우 초기값을 선언하지 않아도 자동으로 초기값을 가지기 때문에 초기값을 지정해지 주지 않고 사용해도 에러가 발생하지 않으며, 자동으로 가지게 되는 초기값은 '0'과 같다.

목적에 따른 추가 방법

public class 클래스이름 {
	
	public static int a; // 접근제한자 + 정적 + 자료형 + 변수명 + ;필드선언
 
}

초기값을 주지 않는 경우

public class 클래스이름 {
	
	int a; //필드선언
	
}

초기값을 주는 경우

public class 클래스이름 {
	
	int a=10; //필드선언
	
}

위 코드에서 선언한 필드 a의 값은 설명과 동일하게 0으로 나오며 string의 경우 null, boolean의 경우 false 형태와 같이 자료형에 맞는 초기값을 가지게 된다.

접근 방법

필드에 접근하기 위한 방법은 다양하다. 클래스를 이용해 새로운 객체를 만들어 객체 내의 필드를 사용하기 위해서는 아래와 같은 방식을 사용한다.

class human {
	int kg;
	int cm;
}

위와 같은 human 클래스가 있을 때 새로운 객체를 생성해 사용하기 위해서는 '객체명.필드명' 형태를 갖추어야 한다.

human이라는 클래스의 객체를 사용하는 예이다.

public class example {
	public static void main(String[] args){
	 	human hu1 = new human();
	 	//human 객체를 생성
	 	
	 	hu1.kg=70;
	 	hu1.cm=170;
	 	//hu1의 kg과 cm이라는 필드에 값을 넣음
	 	
	}
}

위와 같이 필드에 값을 추가할 수 있다.

또한 클래스 내부 메소드에서 필드 변수를 사용가능하다. 하지만 메소드 내의 지역변수와 필드 변수의 변수명이 같을 시 메소드 내의 지역변수를 우선순위로 하며, 만약 필드를 사용하고 싶다면 변수명 앞에 'this.'를 사용한다면 필드 변수를 사용할 수 있다.

class human {
	int kg;
	int cm;
	public void example(){
	 	int kg=100;
	 	
	 	this.kg=70;
	}
	public static void main(String[] args){
	 	example();
	}
}

위와 같이 작성 시 example 내의 kg은 100이라는 숫자가 들어가고 human의 kg은 70이라는 값이 나오게 된다.

각주

  1. JOKER, 〈자바 필드(field)-전역변수,멤버변수〉, 《개인블로그》, 2017-03-13
  2. *Ara Blog, 〈자바(Java)〃필드와 변수의 선언위치와 초기값(전역변수,지역변수)〉, 《개인블로그》, 2015-11-02

참고자료

같이 보기


  검수요청.png검수요청.png 이 필드 (자바) 문서는 프로그래밍에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.