티스토리 뷰

Java 공부일지

정적멤버

AleXtep 2018. 3. 16. 17:21

이번시간에는 정적 멤버에 대해서 공부해 보도록 해요! 정적 멤버란 무엇인가.... 멤버란 객체내에있는 필드나 메소드를 의미한다고 배웠는데요! 정적 멤버는 과연 무엇일까요? 정적멤버란 모든 객체를 통틀어서 하나만 생성되고 객체가 이를 공유하게 되는데 이러한 멤버를 정적멤버(static member)또는 클래스멤버(class member)라고 합니다.

그렇다면 다시 한번 멤버에대해서 생각해봅시다. 저번에 각각 객체마다 멤버가 생성이 되는데 그것을 인스턴스 멤버라고 배웠습니다. 객체를 생성하면 할수록 인스턴스멤버는 별도의 메모리를 차지해 다른 값을 가지고 있는데요, 정적멤버는 하나의 클래스에 하나만 생성이 가능하답니다. 생성은 < 클래스명.변수이름 > 으로 생성 할 수 있습니다. 한번 아래의 코드를 보시고 공부해 보도록 합시다.  




위의 Car클래스를 보시면 접근제어를 private으로 안의 클래스에서만 접근할수 있도록 설정하였고 그 변수는 각각 차모델 색깔 속도 그리고 차 갯수를 선언하였구요, number라는 정적변수를 앞에 static을 적어서 정적멤버를 선언하였습니다. 그아래에서는 생성자를 생성하였구요, 생성자를 실행하게되면 howmanycars정적 멤버의 값을 1씩 증가시킬수 있도록 작성하였습니다. 그리고 CarTest클래스 에서는 obj1,obj2객체를 생성하였고 생성이 되면서 생성자가 호출이 되고 두번 호출이 되면서 정적 멤버인 number가 두번 1씩 증가하여 결국 number에서는 2라는 값이 저장 됩니다. 호출하기위해서 Car.number을 이용해 출력하여 보았습니다. 정적멤버는 한클래스에 한번만 작성할수있고, 클래스명.변수이름 으로 호출이 될수 있습니다. 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2026/09   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함