오늘 우리는 정적 키워드와 생성자를 공부했습니다.
키워드 “정적”은
클래스를 정의할 때 static 키워드를 사용하십시오. 사용된 속성 및 방법
클래스의 인스턴스를 만들지 않고 액세스할 수 있습니다.
이러한 속성과 메서드를 정적 멤버라고 합니다.
※예
public class StaticClass {
public static int test = 10;
}
public class TestClass {
public static void main(String() args) {
System.out.println(StaticTest.test);
}
}

조금 더 쉽게 말하자면,
동일한 유형의 여러 개체가 공유하는 필드에서 사용됩니다.
프로그램이 시작(실행)될 때 정적 저장 영역에 자동으로 할당된 멤버에 적용됩니다.
정적 요소의 특성은 다음과 같습니다.
1. 키워드 “정적”으로 선언합니다. 정적 속성인스턴스화된 개체에서 액세스할 수 없습니다.
2. “정적” 키워드로 선언합니다. 정적 방법은 인스턴스화된 개체에서도 액세스할 수 있습니다.
3. 정적 메서드 내에서 $this 의사 변수를 사용할 수 없습니다.
정적 키워드 표현식
클래스를 설계할 때 ‘정적’을 사용하려면,
1. 모든 인스턴스에 공통된 값을 보유해야 하는 클래스의 멤버 변수가 있습니까?
살펴보고 정적이 있는 경우 추가하십시오.
2. 생성된 메서드에서 static을 인스턴스 변수를 사용하지 않는 메서드로 설정합니다.
첨부를 고려
public class Static {
public static int test;
}
생성자는
Java에서 인스턴스 변수는 개체 생성 시 원하는 값으로 설정됩니다.
초기화할 수 있는 생성자라고 하는 메서드를 제공합니다.
모든 클래스에는 하나 이상의 생성자가 있어야 합니다.
창조주의 속성
1. 생성자의 이름은 수업 이름과 동일당신은해야합니다.
2. 클래스에는 적어도 하나의 생성자가 있어야 합니다. 기본 생성자는 생성자 코드가 없는 경우 컴파일러에서 자동으로 생성됩니다.하다.
(사용자가 확인할 수 없는 이유는 생략되어 있기 때문입니다.)
3. 생성자에 반환 값이 없지만 반환 유형이 void로 선언되지 않았습니다.
4. 생성자는 초기화 데이터를 인수로 받을 수 있습니다.
5. 개체를 초기화하는 방법이 여러 개인 경우 클래스에 여러 생성자가 있을 수 있습니다.
즉, 생성자도 메서드, 즉 메서드입니다. ‘초과 적재’이것이 가능하다는 것을 의미합니다.
※초과 적재
→ 이는 동일한 이름의 메소드가 중복 정의되었음을 의미합니다.
→ Java에서는 클래스에 같은 이름을 가진 메서드가 두 개 이상 있을 수 없습니다.
→ 매개변수의 개수나 종류가 다른 경우 이름으로 메소드를 작성할 수 있습니다.
→ 메서드 오버로딩을 통해 메서드에 사용된 이름을 저장할 수 있습니다.
생성자 선언
기본 생성자
자바 모든 수업에서 하나 이상의 생성자를 정의해야 합니다.
하지만 특별한 생성자를 정의하지 않고 인스턴스를 생성할 수 있습니다.
이것은 자바입니다 기본적으로 컴파일러는 기본 생성자라고 하는 것을 제공합니다.하기 때문에
기본 생성자는 매개변수를 사용하지 않으며 명령을 포함하지 않습니다.
클래스가 컴파일될 때 생성자가 정의되지 않은 경우 Java 컴파일러는 다음을 반환합니다.
다음과 같은 기본 생성자를 자동으로 추가합니다.
public class Constructor {
public Constructor() {
}
}
매개변수로 생성자 선언
매개변수가 있는 생성자를 하나 이상 정의하면 기본 생성자는 자동으로 추가되지 않습니다.
그러므로 매개변수로 생성자 선언당신이…했다면 기본 생성자도 선언해야 합니다.
public class Constructor {
public int num1;
public Constructor() {
}
// 매개변수가 있는 생성자
public Constructor(int num1) {
// 전달 받은 매개변수 값을 이용하여 초기화
this.num1 = num1;
}
}
메서드 오버로드
public class Constructor {
public int num1;
public int num2;
public int num3;
public int num4;
/*
* 오버로딩(Overloading)
* - 하나의 Class 내부에 동일한 Method를 여러 개 작성하는 기법
* • Method의 이름이 같아야 한다.
* • 매개변수의 개수가 다르던지, 매개변수의 타입이 달라야 한다.
*/
public Constructor(int num1) {
this.num1 = num1;
}
public Constructor(int num1, int num2) {
this(num1);
this.num2 = num2;
}
public Constructor(int num1, int num2, int num3) {
this(num1, num2);
this.num3 = num3;
}
public Constructor(int num1, int num2, int num3, int num4) {
this(num1, num2, num3);
this.num4 = num4;
}
}