*메서드 구분 기준
- 이름
- 파라미터(갯수, 타입, 순서)
-return 은 구분 기준이 되지 않는다.
메서드 오버로딩
: 클래스 내부에 이름이 같은 메서드가 존재 가능하다.
생성자(constructor)
: 객체를 생성하고 나서 초기화 작업들이 계속 반복되는 문제를
‘소거’ 하는 목적으로 만들어진다.
- 객체의 초기화(사용하기 위한 준비)
- 이름이 클래스 이름과 같아야한다
- 리턴이 존재하지 않는다
- 객체를 생성할 때만 사용 할 수 있다.
= 생성자가 생성된다 = 객체가 생성된다.
- 클래스 안에 생성자가 없는 경우엔 컴파일러가 파라미터 없는
‘기본 생성자’를 만들어 준다.
- 강제성을 가질 수 있다.
생성자 파라미터로 값을 고정시켜 놨기 때문이다.
- 메서드는 생성자와 다르다!
>>> 생성자는 리턴이 존재하지 않는다.
- 생성자 오버로딩이 가능하다!
>>> 이름은 클래스 이름으로 고정되어 있기 때문에 파라미터로 구분함
- 생성자의 갯수는 객체를 만들어 낼 수 있는 수
멤버변수
- 멤버변수는 초기값이 있기 때문에 정의를 하지 않아도 에러가 나지 않음
- boolean을 제외한 기본 데이터는 다 0이 들어가고
boolean은 false가 기본으로 들어간다.
- 모든 참조형은 null이 초기값으로 들어간다.
>> null : 나타내는 주소가 없는 것을 표현
에러(error) : 결함
1) 컴파일 에러
: 문법적 결함(오타) > 고치기 가장 쉽다..
2) 실행 중 에러
3) 논리적 에러
: 컴파일도 되고 실행도 되지만 원하는 값이 안나왔을 때
>> 어디가 틀린건지 나오지 않음
즉 컴파일 자주 해보기,,
this
- 객체 자신의 주소값을 나타내는 키워드
System.out.println(this.num);
접근제어(멤버변수, 메서드, 생성자, 클래스)
1) private - 객체 자신만 접근 가능
2) 생략 - 동일한 패키지만 접근 가능
3) protected - 상속 관계만 접근 가능
4) public - 제한 없음
- private나 public이 99.9% 사용된다.
- 클래스, 생성자, 메서드는 특별한 경우를 제외하곤 public
>> 메서드는 호출이 되어도 변경이나 훼손이 되지 않기 때문에
지킬 필요가 없다
- 멤버변수는 특별한 경우를 제외하곤 private
Share article