1.필드
객체의 고유 데이터, 객체의 현재 상태 데이터를 저장하는 곳
1-1.필드 추가
Car 클래스 필드에
name 과 tire_num 속성을 추가하였다.
package a5_Class;
public class Car {
String name="슈퍼멋진차";
int tire_num=4;
}
package a5_Class;
public class a5_class {
public static void main(String[] args){
Car car1= new Car();
System.out.println(car1.name);
System.out.println(car1.tire_num);
}
}
//출력
슈퍼멋진차
4
1-2.필드값 변경
객체.필드=OO 으로 필드값을 변경할수있다.
package a5_Class;
public class a5_class {
public static void main(String[] args){
Car car1= new Car();
System.out.println(car1.name);
car1.name="나쁜차";
System.out.println(car1.name);
}
}
//출력
슈퍼멋진차
나쁜차
2.생성자
생성자는 new 연산자로 클래스로 부터 객체를 생성할때 객체의 초기화를 담당한다.
내부 생성자 선언을 생략하면 클래스() {} 생성자가 자동으로 기본생성자로 추가한다.
2-1.생성자 선언
클래스 내부에 클래스(매개변수 선언) {} 형태로 선언할수있다.
class Car2{
String name;
Car2(String car_name){
name=car_name;
}
}
package a5_Class;
public class a5_class {
public static void main(String[] args){
Car2 car2= new Car2("붕붕이");
System.out.println(car2.name);
}
}
//출력
붕붕이
2-2.this
this는 객체 자기자신에 대한 참조이며 매개변수와 필드 변수의 이름이 같을시 this 를 사용하여 this.필드로 쓸수있다.
class Car2{
String name="기본차";
Car2(String name){
//name=car_name;
this.name=name;
}
}
2-3. 생성자 오버로딩
생성자는 매개변수를 달리하여 생성자를 여러개 선언하는 오버로딩을 사용할수있다.
class Car2{
String name="기본차";
int tire_num=4;
Car2(String name){
this.name=name;
}
Car2(String name, int tire_num){
this.name=name;
this.tire_num=tire_num;
}
}
package a5_Class;
public class a5_class {
public static void main(String[] args){
Car2 car2= new Car2("붕붕이");
Car2 car3= new Car2("붕붕삼",6);
System.out.println(car2.tire_num);
System.out.println(car3.tire_num);
}
}
//출력
4
6
2-4. 생성자 this()
생성자 오버로딩이 많아졌을때 this(매개변수, .... , 값, ...) 형태로 다른 생성자를 호출하여 중복코드를 줄일수있다.
이때 this()는 반드시 생성자의 첫줄에만 허용한다.
class Car2{
String name="기본차";
int tire_num;
int people;
Car2(String name){
this(name,4,4);
}
Car2(String name, int tire_num){
this(name,tire_num,4);
}
Car2(String name, int tire_num, int people){
this.name=name;
this.tire_num=tire_num;
this.people=people;
}
}
'Language > JAVA' 카테고리의 다른 글
[JAVA] 메소드 (0) | 2024.05.15 |
---|---|
[JAVA] 클래스 (0) | 2024.05.14 |
[JAVA] 열거 타입 (0) | 2024.05.13 |