열심히 끝까지
21강 클래스에 대하여 - 인스턴스 변수와 클래스 변수 본문
<복습>
클래스란? 객체를 만들기 위한 설계도
객체란? 독립적으로 존재할 수 있는 것
인스턴스란? 클래스로 실제 메모리에 생성된 객체(객체가 더 포괄적인 의미)
클래스 생성 방법
class 클래스명{
변수 혹은 메서드
}
객체(인스턴스) 생성 방법
클래스명 참조변수 = new 클래스명();
메모리를 달라는 의미 = new
참조변수 객체처럼 사용 가능
객체 내 필드 접근 방법
참조변수.필드명
21-1) 인스턴스 변수와 클래스 변수
(1) 인스턴스 변수
: 객체마다 갖는 고유한 변수
- 인스턴스를 생성할 때 만들어지며,
각각의 인스턴스 마다 자신의 값을 갖고 있음
- 각 인스턴스마다 다른 값을 가져야 할 때 생성
- 인스턴스 생성(new 클래스명();) 시 메모리에 생성
ex) Hello 스포츠 센터 회원에 대한 정보를 관리할 클래스 생성
class 회원
[ [ 이름 ] [ 나이 ] [ 성별 ] ]
-> [김민호][28][남자] / [이영희][24][여자] / [김철수][32][남자] ....
-> 이와 같이 회원들마다 고유한 값을 갖고 있기 때문에
클래스 안에 인스턴스 변수가 필요!
< 인스턴스 생성 방법 >
class 클래스명{
자료형 변수명; }
* 기존방식과 동일!
(2) 클래스 변수
: 모든 객체가 동일한 값을 갖는 변수
- 모든 인스턴스가 같은 저장공간을 공유
- 클래스가 처음 메모리에 로딩될 때 생성
- 인스턴스 없이 사용 가능 ** 주요 특징 **
ex) Hello 스포츠 센터 회원에 대한 정보를 관리할 클래스 생성
class 회원
[스포츠센터 명]
-> 여기에 입력되는 사람들 모두 스포츠 센터명이 Hello다
-> 이 때, 회원들 마다 동일한 값을 갖고 있기 때문에
클래스 변수가 필요!
< 클래스 변수 생성 방법 >
class 클래스명{
static 자료형 변수명; }
* 변수 선언 시 자료형 앞에 static 키워드 붙인다!
< 실습 > SportsMain
<회원 틀 제작>
class Member
[centerName] | [name] [age] [gender]
클래스 변수 | 인스턴스 변수
ㄴ> 이것을 이용해 같은 모양의 인스턴스들을 생성
- 이 때, member1.centerName만을 다른 것으로 바꾸고 싶어도
static으로 인해 모든 멤버의 센터명이 바뀐다.
< 실습 > 자동차 실습
'멘토씨리즈 JAVA' 카테고리의 다른 글
23강 클래스에 대하여 - 생성자 (0) | 2022.04.29 |
---|---|
22강 클래스에 대하여 - 객체타입배열 / 연습 계산기 클래스 (0) | 2022.04.29 |
20강 클래스에 대하여 - 클래스와 객체 (0) | 2022.04.28 |
19강 클래스에 대하여 - 객체지향언어 (0) | 2022.04.28 |
18강 배열 - 메서드 오버로딩 (0) | 2022.04.27 |