728x90
★복습 ↙
더보기
클래스 생성 방법
class 클래스 명 { 변수 혹은 메서드 }
객체(인스턴스) 생성 방법
클래스_명 참조변수 = new 클래스_명 ( );
객체 내 필드 접근 방법(도트 연산자)
참조 변수. 필드명
1. 인스턴스 변수 : 객체마다 갖는 고유한 변수
- 인스턴스를 생성할 때 만들어지며, 각각의 인스턴스마다 자신의 값을 갖고 있음
- 각 인스턴스마다 다른 값을 가져야 할 때 생성
- 인스턴스 생성 시 (new 클래스_명();) 메모리에 생성
Ex) Hello 스포츠 센터 회원에 대한 정보를 관리할 클래스 생성 , 회원들마다 고유한 값을 갖고 있기 때문에 인스턴스 변수가 필요
1.1 인스턴스 변수 생성 방법
2. 클래스 변수 : 모든 객체가 동일한 값을 갖는 변수
- 모든 인스턴스가 같은 저장공간을 공유
- 클래스가 처음 메모리에 로딩될 때 생성
- 인스턴스 없이 사용 가능
2.1 클래스 변수 생성 방법
* 변수 선언 시 자료형 앞에 static 키워드를 붙인다 ~!
예제 1)
package Home21;
public class SportsMain {
public static void main(String[] args) {
Member member1 = new Member();
Member member2 = new Member();
Member member3 = new Member();
Member member4 = new Member();
//member1.centerName="Love";
member1.name = "김철수";
member1.age = 32;
member1.gender = "남자";
//member2.centerName="Love";
member2.name = "김민호";
member2.age = 28;
member2.gender = "남자";
//member3.centerName="Love";
member3.name = "이영희";
member3.age = 24;
member3.gender = "여자";
//member4.centerName="Love";
member4.name = "고석천";
member4.age = 32;
member4.gender = "남자";
Member.centerName="broken Love";
System.out.println("member1 -----");
member1.info();
System.out.println("member2 -----");
member2.info();
System.out.println("member3 -----");
member3.info();
System.out.println("member4 -----");
member4.info();
}
}
class Member {
static String centerName="Love"; //클래스 변수
String name; // 인스턴스 변수
int age; // 인스턴스 변수
String gender; // 인스턴스 변수
void info() { // 각각의 정보를 출력할 ...
System.out.println("centerName : " + centerName);
System.out.println("name : " + name);
System.out.println("age : " + age);
System.out.println("gender : " + gender);
}
}
클래스 변수와 인스턴스 변수의 차이 알아보기
더보기
package Home21;
public class Class_practice_3 {
public static void main(String[] args) {
System.out.println(Car.wheel);
// System.out.println(Car.speed); -> 오류발생
Car myCar1 = new Car();
System.out.println(myCar1.speed);
Car myCar2 = new Car();
System.out.println("<변경전>");
System.out.println("myCar1.wheel" + myCar1.wheel);
System.out.println("myCar2.wheel" + myCar2.wheel);
System.out.println("myCar1.speed" + myCar1.speed);
System.out.println("myCar2.speed" +myCar2.speed);
myCar1.speed=100;
myCar2.wheel=5;
System.out.println("<변경후>");
System.out.println("myCar1.wheel" + myCar1.wheel);
System.out.println("myCar2.wheel" + myCar2.wheel);
System.out.println("myCar1.speed" + myCar1.speed);
System.out.println("myCar2.speed" +myCar2.speed);
}
}
class Car{
static int wheel=4;
// 클래스변수 : 모든 객체가 공통적으로 갖고 있는 주소 값 (동요함)
int speed;
//인스턴스변수 : 객체마다 고유한 값을 가지기 때문에 값을 새로 주어도 변경되지 않음
}
'일단 해보는 코딩 > Java' 카테고리의 다른 글
[Java] 오버로딩(Overloading), 상속과 오버라이딩(Overriding) (0) | 2022.08.08 |
---|---|
[Java] 생성자(Construct) (0) | 2022.08.07 |
[Java] 클래스 생성(도트연산자), 인수의 반환/값 (0) | 2022.08.07 |
[Java] 객체지향언어 (클래스에 대하여) (0) | 2022.08.06 |
[Java] 가변인수 (0) | 2022.08.05 |