본문 바로가기

JAVA/JAVA_Lecture

Lecture 08: Object-Oriented Programming (2)

<Object>

- Object를 array로 선언할 수 있다. 처음에 자리들만 생성해주고 각각 new를 해줘야 한다.

 

1
2
3
4
Employee m[] =new Employee[3];
m[0= new Employee("Mario");
m[1= new Employee("Luigi");
m[2= new Employee("Toad");
cs

 

- Instance Variable에 초기값을 할당해줄수있다. 초기화 안하면 디폴트값(0,null,false)로 초기화된다.

ex) private String name = "Joe";

 

- Method안의 Local variable은 반드시 초기화 해줘야한다. 아니면 에러발생한다.

 

- Instance variable에 final keyword를 사용하면 variable은 생성자로만 세팅된다.

ex) private final String name;

 

<Static Variable & Method>

- Static variable을 초기화하는 방법은 2가지다. 

private String name = "Joe"; 또는 Static{ name = "Joe; } 이다.

 

- 주로 class와 관련된 상수가 static으로 선언된다.

ex) public static final double PI = 3.141592

 

- Static메소드는 class이름으로 호출되므로 instance가 필요없다.

 

- this를 static method에서 사용할 수 없다. Object가 아닌 class와 관련되어 있으므로.

 

- Static메소드는 Static메소드만 부를 수 있다. 당연히 Object와 관련없으므로 Instance메소드를 부를 수가 없다.

 

- Static변수나 메소드는 같은 Class내에서는 class명 생략해도 된다.

 

<Call-by-value>

- Java는 기본적으로 method를 호출할 때 Call-by-Value원리(값을 복사)를 이용한다.

 

- 배열, Object는 주소값을 Call-by-Value로 전달하기 때문에 직접적인 변경이 가능하다.

 

<EX 소스코드>

github.com/HoYoungChun/Java_Language_Lecture/tree/master/EX08

 

HoYoungChun/Java_Language_Lecture

Contribute to HoYoungChun/Java_Language_Lecture development by creating an account on GitHub.

github.com