일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- jsp
- 서블릿
- 자바
- 복합 선택자
- spring
- optgroup
- vmin
- JavaScript
- 다시볼 것
- HTML Templating
- 가상요소 선택자
- EDWITH
- 부정 선택자
- 상속
- ES6
- 가상클래스 선택자
- 보충필요
- 소스트리
- 즐거운 자바
- nth-of-type()
- 깃헙
- vmax
- nth-child()
- datalist
- 부스트코스
- 즐거운자바
- 김성박
- 다시보자
- 속성 선택자
- 웹개발
Archives
- Today
- Total
기억의 DataBase
생성자 본문
-
생성자
인스턴스가 만들어질 때 해당 인스턴스를 초기화하기 위해서 필요
생성자를 지정하지 않으면 컴파일 과정에서 기본 생성자가 생성됨
클래스가 하나라도 생성자를 가지고 있으면, 기본 생성자가 생성되지 않음
ex) Dice dice = new Dice();
Dice dice = new Dice(9);
public Dice() {
this.faceCount = 6;
}
public Dice(int faceCount) {
if(faceCount < 1) {
throw new IllegalArgumentException();
}
this.faceCount = faceCount;
}
※ Random은 생성자가 2개 있음
※ Random(), Random(long) - 생성자 오버로딩
public Student(String name) {
this(name,0,0,0); // 아래의 생성자를 호출해서 사용(보통 파라미터가 많은 쪽을 호촐)
}
public Student(String name, int kor, int eng, int math) {
this.name = name;
this.kor = kor;
this.eng = eng;
this.math = math;
}
-
java.lang.*의 클래스들을 인스턴스화 할 수 없음
> 인스턴스를 만들려면 꼭 필요한 것이 생성자
> 생성자가 private이면 외부에서 인스턴스를 만들 수 없는데 메소드를 어떻게 사용?
> 메소드를 static으로 지정하면 인스턴스를 만들지 않고도 사용이 가능하다
public class MathTest {
public static void main(String[] args) {
// private 생성자라 인스턴스를 만들 수 없음(private MyMath(){})
// MyMath mm = new MyMath(); (불가)
// 인스턴스를 만들 수 없는 경우, static 메소드를 사용하는 방법이 있음
MyMath.abs(50); >> public static void abs(int a) {
System.out.println(a);
}
}
}
ex) Math는 모든 메소드가 static한 메소드( Math.메소드명(); )
'Java' 카테고리의 다른 글
상속, 추상클래스 (0) | 2019.01.18 |
---|---|
접근지정자 (0) | 2019.01.17 |
예외처리(Exception) (0) | 2019.01.17 |
객체지향 (0) | 2019.01.16 |
package(디렉토리)와 중요 package (0) | 2019.01.14 |
Comments