자바의 정석_기초편 CHAPTER 6 中 26 ~ 32 (230821)
6-26. static 메서드와 인스턴스 메서드.
메서드 앞에 static이 붙어 있으면 클래스메서드이고 붙어 있지 않으면 인스턴스 메서드.
클래스 메서드도 클래스 변수처럼, 객체를 생성하지 않고도 '클래스이름.메서드이름(매개변수)' 와 같은 식으로 호출이 가능. 반면 인스턴스 메서드는 반드시 객체를 생성해야만 호출할 수 있다.
참고)
클래스 영역에 선언된 변수를 멤버변수.
이 중에 static이 붙은 것은 클래스변수(static변수), static이 붙지 않은 것은 인스턴스변수.
멤버변수는 인스턴스변수와 static 변수를 모두 통칭하는 말.
6-28. static을 언제 붙여야 하나
1. 클래스를 설계할 때, 멤버변수 중 모든 인스턴스에 공통으로 사용하는 것에 static을 붙인다.
2. 클래스 변수(static 변수) 는 인스턴스를 생성하지 않아도 사용할 수 있다.
3. 클래스 메서드 (static메서드) 는 인스턴스 변수를 사용할 수 없다.
4. 메서드 내에서 인스턴스 변수를 사용하지 않는다면, static을 붙이는 것을 고려한다.
- 클래스의 멤버변수 중 모든 인스턴스에 공통된 값을 유지해야하는 것이 있는지 살펴보고 있으면, static을 붙여준다.
- 작성한 메서드 중에서 인스턴스 변수나 인스턴스 메서드를 사용하지 않는 메서드에 static 을 붙일 것을 고려한다.
6-29. 메서드 간의 호출과 참조.
같은 클래스에 속한 멤버들 간에는 별도의 인스턴스를 생성하지 않고도 서로 참조, 호출이 가능하지만 클래스 멤버가 인스턴스 멤버를 참조 또는 호출하고자 하는 경우에는 인스턴스를 생성해야 한다.
6-30. 오버로딩(overloading)
오버로딩 성립 조건.
1. 메서드 이름이 같아야 한다.
2. 매개변수의 개수 또는 타입이 달라야 한다.
3. 반환 타입은 관계없다.
6-32. 생성자(constructor)
생성자는 인스턴스가 생성될 때 호출되는 '인스턴스 초기화 메서드' 이다. 따라서 인스턴스변수의 초기화 작업에 주로 사용되며, 인스턴스 생성 시에 실행되어야 하는 작업을 위해서 사용된다.
참고) 인스턴스 초기화 : 인스턴스 변수들을 초기화.
생성자의 조건.
1. 생성자의 이름은 클래스의 이름과 같아야 한다.
2. 생성자는 리턴 값이 없다.
'진행중인 학습 > 자바의 정석_학습' 카테고리의 다른 글
자바의 정석_기초편 CHAPTER 6 中 33 ~ 39 (0) | 2023.08.23 |
---|---|
자바의 정석_기초편 CHAPTER 6 中 20 ~ 25 (230818) (0) | 2023.08.18 |
자바의 정석_기초편 CHAPTER 6 中 14 ~ 17 (230816) (0) | 2023.08.16 |
자바의 정석_기초편 CHAPTER 6 中 9 ~ 12 (230814) (0) | 2023.08.14 |
자바의 정석_기초편 CHAPTER 6 中 1 ~ 8 (230811) (0) | 2023.08.11 |