this 란?
자바스크립트에서는 이벤트를 발생하는 요소, 자기 자신을 나타냄
인스턴스를 구별하기 위한 방법. 일종의 참조변수
인스턴스 자신의 주소를 스스로 저장하고 있음
(같은 클래스로 만들어진 인스터스가 많기 때문에)
1. 필드와 지역변수 구분을 위해 사용
this.color(필드) = color;(지역변수)
2. 생성자의 다른 이름 : this() 메소드
생성자는 new 뒤에서 한 번 밖에 호출하지 못하는데, 생성자를 호출해야하는 경우가 있다.
이럴 경우 this로 생성자를 호출한다.
생성자 오버로딩
생성자를 여러개 만들 수 있다.(보통은 여러 개 만들어서 사용하지 않는다.)
클래스의 이름으로 생성자의 이름은 정해져 있다. 매개변수, 자료형으로 구분
생성자 안에서 다른 생성자를 호출할 때 사용
생성자 간에 중복된 코드 사용을 줄이는데 활용됨
코딩에 반드시는 없다.
- 생성자를 반드시 쓸 필요는 없다.
- 'this.필드'를 반드시 쓸 필요는 없다.
- this() 메소드를 반드시 쓸 필요는 없다.
- 메소드 오버로딩을 반드시 쓸 필요는 없다.
- 디자인 패턴도 반드시 쓸 필요는 없다.
- 그러나 예외는 있다.
- 라이브러리 등 다른 사람이 만든 것을 가져다 쓸 경우 그 규칙을 따라서 사용해야 하기 한다.
객체지향은 방법론적인 부분임
생성자를 사용해 데이터를 넣을 경우 입력을 미리 받아놓고 집어넣는다.
setter 사용 시 생성먼저 하고 받아서 집어넣는다.
겉으로 보이는 것은 똑같다.
실습
주소록 프로그램 구현
프로그램 골격, InoOutClass, MVC 패턴
데이터의 구조
- 이름(검색), 연락처, 주소, 생일, 차단유무
(이름 중복 없음)
메뉴
1. 연락처 입력
2. 연락처 출력(전체)
3. 연락처 검색(개별 출력)
3-1. 이름
3-2. 연락처
3-3. 생일
4. 연락처 수정(차단)
4-1. 연락처 수정
4-2. 연락처 차단
5. 연락처 삭제
0. 종료
toString 메소드 : 특수 목적을 갖는 메소드
인스턴스를 출력할 때 대신 출력할 문자열을 지정하는 메소드
@Override
public String toString() {
String str = "색상 : " + color + "\n기어 : " + gearType + "\n문 : " + door ;
return str;
}
'공부기록 > Java' 카테고리의 다른 글
4월 18일 Java - 객체지향 추상화, 인터페이스, final제어자 (0) | 2023.04.18 |
---|---|
4월 17일 Java - 객체지향의 특성 (0) | 2023.04.18 |
4월 13일 (1) Java - 기타 제어자, 생성자 (0) | 2023.04.13 |
4월 12일 (2) Java - 객체지향 (0) | 2023.04.12 |
4월 12일 (1) Java - 데이터 관리 프로그램 (0) | 2023.04.12 |