필드 (자바) 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
1번째 줄: 1번째 줄:
'''필드'''(field)란 [[클래스]]를 구성하는 요소 중 하나로 [[클래스]] 내부 멤버이다. 어떠한 데이터를 저장하기 위한 역할을 담당하며 [[클래스]] 내부의 생성자와 [[메소드]] 밖에 정의가 된다. 필드는 클래스에서 내부 멤버이기 때문에 '''멤버변수'''<!--멤버 변수-->(member variable)라고도 불리며, [[클래스]] 내 전역에서 사용하기 때문에 전역 변수라고도 불리며 데이터를 저장하기 위한 역할을 담당하며 생성자와 [[메소드]] 밖에서 사용한다. 즉 필드란 클래스 안에서 독립적으로 선언되는 변수를 뜻한다.<ref name="필드변수">Velvet, 〈[https://m.blog.naver.com/PostView.nhn?blogId=pkss1230&logNo=220418155364&proxyReferer=https:%2F%2Fwww.google.com%2F 필드와 변수]〉, 《개인블로그》, 2015-07-12</ref>
+
'''필드'''(field)란 [[클래스]]를 구성하는 요소 중 하나로 [[클래스]] 내부 멤버이다. 어떠한 데이터를 저장하기 위한 역할을 담당하며 [[클래스]] 내부의 생성자와 [[메소드]] 밖에 정의가 된다.
 +
 
 +
==개요==
 +
필드는 클래스에서 내부 멤버이기 때문에 멤버 변수라고도 불리며, [[클래스]] 내 전역에서 사용하기 때문에 전역 변수라고도 불리며 데이터를 저장하기 위한 역할을 담당하며 생성자와 [[메소드]] 밖에서 사용한다. 즉 필드란 클래스 안에서 독립적으로 선언되는 변수를 뜻한다.<ref name="필드변수">Velvet, 〈[https://m.blog.naver.com/PostView.nhn?blogId=pkss1230&logNo=220418155364&proxyReferer=https:%2F%2Fwww.google.com%2F 필드와 변수]〉, 《개인블로그》, 2015-07-12</ref>
  
 
==특징==
 
==특징==
 +
 
필드의 경우 다른 지역변수들과 다르게 초기화를 하지 않아도 기본값이 자동으로 초기화 된다는 특징을 가지고 있다. String의 경우 null, int의 경우 0으로 초기화 된다. 그리고 해당 [[클래스]] 내의 모든 [[메소드]]에 접근이 가능하다.
 
필드의 경우 다른 지역변수들과 다르게 초기화를 하지 않아도 기본값이 자동으로 초기화 된다는 특징을 가지고 있다. String의 경우 null, int의 경우 0으로 초기화 된다. 그리고 해당 [[클래스]] 내의 모든 [[메소드]]에 접근이 가능하다.
 
생성의 경우 객체가 생성될 때 함께 생성되며, 생성된 객체를 더 이상 참조하지 않을 때 가비지 컬렉터(Garbage Collector)에 의해서 제거된다.<ref name="개인블로그">JOKER, 〈[https://blog.naver.com/heartflow89/220956313502 자바 필드(field)-전역변수,멤버변수]〉, 《개인블로그》, 2017-03-13</ref>
 
생성의 경우 객체가 생성될 때 함께 생성되며, 생성된 객체를 더 이상 참조하지 않을 때 가비지 컬렉터(Garbage Collector)에 의해서 제거된다.<ref name="개인블로그">JOKER, 〈[https://blog.naver.com/heartflow89/220956313502 자바 필드(field)-전역변수,멤버변수]〉, 《개인블로그》, 2017-03-13</ref>
  
필드를 선언할 때는 접근 지정자, 필드의 타입, 필드의 이름 세가지를 정해줘야 한다. 접근 지정자에는 public과 private가 있으며, public은 모든 클래스로 부터 접근 가능, private는 클래스 내부에서만 접근이 가능하며 이 외에는 접근이 불가능하다.<ref name="개인블로그3">Yown, 〈[https://luckyyowu.tistory.com/193 Java 08 : 필드와 메소드]〉, 《개인블로그》, 2014-07-30</ref>
+
필드를 선언 할 때는 접근 지정자, 필드의 타입, 필드의 이름 세가지를 정해줘야 한다. 접근 지정자에는 public과 private가 있으며, public은 모든 클래스로 부터 접근 가능, private는 클래스 내부에서만 접근이 가능하며 이 외에는 접근이 불가능하다.<ref name="개인블로그3">Yown, 〈[https://luckyyowu.tistory.com/193 Java 08 : 필드와 메소드]〉, 《개인블로그》, 2014-07-30</ref>
  
 
필드는 객체의 고유 데이터, 객체가 가져야할 부붐, 객체의 현재 상태 데이터를 저장한다. 자동차를 예로 들 때 자동차에 필요한 고유 데이터는 제작회사, 모델명, 색, 최고 속도가 필요하고 현재 속도, 엔진 회전 수의 상태 데이터와 차체, 엔진, 타이어와 같은 부품이 필요하다가 필요하다. 이런 자동차를 클래스로 설계 할 때 이전에 말한 정보들은 클래스의 필드로 선언이 된다.
 
필드는 객체의 고유 데이터, 객체가 가져야할 부붐, 객체의 현재 상태 데이터를 저장한다. 자동차를 예로 들 때 자동차에 필요한 고유 데이터는 제작회사, 모델명, 색, 최고 속도가 필요하고 현재 속도, 엔진 회전 수의 상태 데이터와 차체, 엔진, 타이어와 같은 부품이 필요하다가 필요하다. 이런 자동차를 클래스로 설계 할 때 이전에 말한 정보들은 클래스의 필드로 선언이 된다.
39번째 줄: 43번째 줄:
  
 
=== 활용 위치 ===
 
=== 활용 위치 ===
[[파일:필드 선언 위치.png|380픽셀|썸네일|필드 위치]]
+
[[파일:필드 선언 위치.png|354픽셀|썸네일|필드 위치]]
[[클래스]] 내의 필드는 멤버 변수 혹은 전역 변수라고도 하기 때문에 [[클래스]] 내부 중괄호 안 어느 위치에서나 선언이 가능하다. 하지만 [[메소드]] 혹은 생성자의 밖에 선언되어야 한다.<ref name="개인블로그2">Ara Blog, 〈[https://hunit.tistory.com/154 자바(Java)〃필드와 변수의 선언위치와 초기값(전역변수,지역변수)]〉, 《개인블로그》, 2015-11-02</ref>
+
[[클래스]] 내의 필드는 멤버 변수 혹은 전역 변수라고도 하기 때문에 [[클래스]] 내부 중괄호 안 어느 위치에서나 선언이 가능하다. 하지만 [[메소드]] 혹은 생성자의 밖에 선언되어야 한다.
 +
<ref name="개인블로그2">Ara Blog, 〈[https://hunit.tistory.com/154 자바(Java)〃필드와 변수의 선언위치와 초기값(전역변수,지역변수)]〉, 《개인블로그》, 2015-11-02</ref>
 +
 
  
 
  public class 클래스이름 {
 
  public class 클래스이름 {
139번째 줄: 145번째 줄:
 
  hu1.cm=170;
 
  hu1.cm=170;
 
  //hu1의 kg과 cm이라는 필드에 값을 넣음
 
  //hu1의 kg과 cm이라는 필드에 값을 넣음
 +
 
  }
 
  }
 
  }
 
  }
146번째 줄: 153번째 줄:
 
또한 클래스 내부 [[메소드]]에서 필드 변수를 사용가능하다. 하지만 [[메소드]] 내의 지역변수와 필드 변수의 변수명이 같을 시 [[메소드]] 내의 지역변수를 우선순위로 하며, 만약 필드를 사용하고 싶다면 변수명 앞에 ''''this.''''를 사용한다면 필드 변수를 사용할 수 있다.
 
또한 클래스 내부 [[메소드]]에서 필드 변수를 사용가능하다. 하지만 [[메소드]] 내의 지역변수와 필드 변수의 변수명이 같을 시 [[메소드]] 내의 지역변수를 우선순위로 하며, 만약 필드를 사용하고 싶다면 변수명 앞에 ''''this.''''를 사용한다면 필드 변수를 사용할 수 있다.
  
  class Human {
+
  class human {
 
  int kg;
 
  int kg;
 
  int cm;
 
  int cm;
155번째 줄: 162번째 줄:
 
  }
 
  }
 
  public static void main(String[] args){
 
  public static void main(String[] args){
                Human human = new Human();
+
  example();
             
 
  human.example();
 
 
  }
 
  }
 
  }
 
  }
196번째 줄: 201번째 줄:
  
 
도트 연산자는 객체 접근 연산자로 객체가 가지고 있는 필드, 메소드를 사요하고자 할 때 사용된다.<ref name="개인블로그4">kephl, 〈[https://kephilab.tistory.com/46 3. Java 자바 - 클래스의 구성 멤버]〉, 《개인블로그》, 2020-05-15</ref>
 
도트 연산자는 객체 접근 연산자로 객체가 가지고 있는 필드, 메소드를 사요하고자 할 때 사용된다.<ref name="개인블로그4">kephl, 〈[https://kephilab.tistory.com/46 3. Java 자바 - 클래스의 구성 멤버]〉, 《개인블로그》, 2020-05-15</ref>
 +
 +
  
 
{{각주}}
 
{{각주}}
204번째 줄: 211번째 줄:
 
* Ara Blog, 〈[https://hunit.tistory.com/154 자바(Java)〃필드와 변수의 선언위치와 초기값(전역변수,지역변수)]〉, 《개인블로그》, 2015-11-02
 
* Ara Blog, 〈[https://hunit.tistory.com/154 자바(Java)〃필드와 변수의 선언위치와 초기값(전역변수,지역변수)]〉, 《개인블로그》, 2015-11-02
 
* kephl, 〈[https://kephilab.tistory.com/46 3. Java 자바 - 클래스의 구성 멤버]〉, 《개인블로그》, 2020-05-15
 
* kephl, 〈[https://kephilab.tistory.com/46 3. Java 자바 - 클래스의 구성 멤버]〉, 《개인블로그》, 2020-05-15
 +
  
 
== 같이 보기 ==
 
== 같이 보기 ==
214번째 줄: 222번째 줄:
 
* [[필드]]
 
* [[필드]]
  
{{프로그래밍|검토 필요}}
+
{{프로그래밍 언어|검토 필요}}
  
 
[[분류:데이터베이스]]
 
[[분류:데이터베이스]]

위키원에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 위키원:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)