반응형


static int a = 10; 

=> static 키워드로 정의된 a를 정적변수 즉 클래스 변수라 한다. 정적변수는 클래스명.a로 바로 접근할 수 있다.

int b = 20; 

=> 인스턴스 변수

 

static void p() {
System.out.println("정적메서드 호출");
}

=> static으로 정의된 p()메서드를 정적메서드 즉 클래스 메서드라고 한다. 정적메서드는 클래스명.정적메서드()로 호출할 수 있다.

 

s01.a = 100;
System.out.println("s01.a = " + s01.a + " , s02.a = " + s02.a);

=> 생성된 객체에 의해서 정적변수 a값을 함께 공유한다.

 

s02.b = 200;
System.out.println("s01.b = " + s01.b + ", s02.b = " + s02.b);

=> 인스턴스 변수 b는 각 객체에 의해서 다른 주소값을 가진다. 값도 공유하지 않는다.

 

St11.p();

=> 클래스명.정적메서드() 즉 해당클래스로 정적메서드 바로 호출할 수 있다.

반응형

'Programming Language > JAVA' 카테고리의 다른 글

JAVA #42  (0) 2020.04.21
JAVA 상속  (0) 2020.04.21
JAVA #39  (0) 2020.03.31
JAVA #38  (0) 2020.03.31
JAVA #37  (0) 2020.03.31
반응형


this(100, 200); 

=> 같은 클래스내에 오버로딩 된 생성자 호출

 

public Mt12(int a, int b) {

this.a = a;
this.b = b;
}

=> 전달인자 개수를 다르게 한 생성자 오버로딩

반응형

'Programming Language > JAVA' 카테고리의 다른 글

JAVA 상속  (0) 2020.04.21
JAVA #40  (0) 2020.03.31
JAVA #38  (0) 2020.03.31
JAVA #37  (0) 2020.03.31
JAVA #36  (0) 2020.03.30
반응형


Point11(int a, int b, int c) {
this.a = a;
this.b = b;
this.c = c;

}

=> this는 내자신 클래스에 선언된 멤버변수 중 인스턴스 변수를 가리키는 참조변수 키워드이다.

=> 왼쪽의 멤버변수 중 인스턴스 변수와 오른쪽의 매개변수명이 같을때는 왼쪽의 인스턴스 변수명 앞에 this.을 붙임으로 써 내 자신 클래스에서 선언된 인스턴스변수라는 것을 알려줘야 한다. 그러면 구붕니 되어져서 값이 저장됨

=> 매개변수 개수를 다르게 한 생성자 오버로딩이다. 

=> 묵시적 제공하지 않는다.

 

Point11 p = new Point11(100, 200, 300); 

=> 오버로딩 된 생성자 호출

반응형

'Programming Language > JAVA' 카테고리의 다른 글

JAVA #40  (0) 2020.03.31
JAVA #39  (0) 2020.03.31
JAVA #37  (0) 2020.03.31
JAVA #36  (0) 2020.03.30
JAVA #35  (0) 2020.03.30
반응형


private int x = 10;

private int y = 20;

=> private 접근제어자는 내 자신 클래스에서만 접근할 수 있고, 외부 클래스에서는 접근

할 수 없다.(데이터 보안성)

 

public Mt10(int x, int y) {
x = x;
y = y;

=> 왼쪽의 클래스 소속 멤버변수 중 인스턴스 변수에 해당하는 x, y와 오른쪽의 생성자 소속의

매개변수명이 같으면 어느 것이 인스턴스 변수이고 매개변수인지 자바는 구분을 못한다.

그러므로 값이 오른쪽 부터 왼쪽에 저장하지 못하는 현상이 발생한다.

 

public Mt10(int x, int y) {

=> 매개변수 개수를 다르게 한 생성자 오버로딩

반응형

'Programming Language > JAVA' 카테고리의 다른 글

JAVA #39  (0) 2020.03.31
JAVA #38  (0) 2020.03.31
JAVA #36  (0) 2020.03.30
JAVA #35  (0) 2020.03.30
JAVA #34  (0) 2020.03.30
반응형


int a;

int b;

=> 멤버변수

 

Number09(int new_a, int new_b) {
a = new_a; b = new_b;
}

=> 생성자가 오버로딩 되면 매개변수가 없는 기본생성자를 자바 컴파일러가 묵시적 제공을 하지 않는다.

 

 // new Number09();

=> 기본 생성자를 호출하려다가 컴파일 에러

 

Number09 n09 = new Number09(100, 200);

=> 오버로딩 된 생성자를 호출

반응형

'Programming Language > JAVA' 카테고리의 다른 글

JAVA #38  (0) 2020.03.31
JAVA #37  (0) 2020.03.31
JAVA #35  (0) 2020.03.30
JAVA #34  (0) 2020.03.30
JAVA #33  (0) 2020.03.30
반응형


Member08(String new_id, String new_name, String new_phone) {
id = new_id;
name = new_name;
phone = new_phone;

=> 매개변수 개수를 다르게 한 생성자 오버로딩

 

new Member08("cccc", "이순신", "010-2323-4583").pr();

=> 오버로딩 된 생성자를 호출

반응형

'Programming Language > JAVA' 카테고리의 다른 글

JAVA #37  (0) 2020.03.31
JAVA #36  (0) 2020.03.30
JAVA #34  (0) 2020.03.30
JAVA #33  (0) 2020.03.30
JAVA #32  (0) 2020.03.30
반응형

 


생성자 특징 )

- 생성자는 클래스명과 같다. 매개변수가 없는 생성자를 기본생성자라고 한다.

- 생성자옆 앞에 반환타입이 없다

- 생성자는 NEW 클래스명(); 에 의해서 호출된다

- 생성자의 주된 기능은 멤버변수 초기화 이다.

 

void p() {

=> void는 반환타입이 없다.

=> 사용자 정의 메서드

 

반응형

'Programming Language > JAVA' 카테고리의 다른 글

JAVA #36  (0) 2020.03.30
JAVA #35  (0) 2020.03.30
JAVA #33  (0) 2020.03.30
JAVA #32  (0) 2020.03.30
JAVA #31  (0) 2020.03.30
반응형


void change(int y) {

=> y 매개변수에 값이 전달됨

 

class MyDate {
int year = 2019; 
int month = 12;
int day = 31;

=> 클래스 소속 멤버변수 3개정의하고 초기화

 

class RefMethod {
void changeData(MyDate t) {

=> 객체주소가 전달 => 결국 객체주소를 공유해서 사용함

반응형

'Programming Language > JAVA' 카테고리의 다른 글

JAVA #35  (0) 2020.03.30
JAVA #34  (0) 2020.03.30
JAVA #32  (0) 2020.03.30
JAVA #31  (0) 2020.03.30
JAVA #30  (0) 2020.03.30

+ Recent posts