생성자
- 모든 클래스는 생성자가 반드시 하나 이상 존재한다.
->프로그래머가 만들지 않으면 자바에서 자동으로 제작한다 ->기본 생성자
- 일반적으로 인스턴스 변수의 초기화에 많이 활용한다.
- 무조건 void 메서드이다.
- 오버로드 (overload) 방식을 자주 활용한다.
Card myCard = new Card();
//클래스 이름과 동일
1. new 키워드와 함께 사용되며 신규 인스턴스를 생성한다. (초기화)
2. 생성자 Card()를 실행하고 초기화와 함께 인스턴스 생성
3. 생성된 인스턴스의 주소값을 참조 변수 myCard에 저장
생성자 - this
this : 자기 자신을 의미.
-인스턴스 자신을 가리키는 참조 변수이다.
-동일 클래스 내 다른 생성자 호출에 사용한다.
this 는 자기 자신을 참조하는 변수이기 때문에
오른쪽 예제에서
Car c1 = new Car (); ->색깔, 기어 타입, 문 갯수 랜덤으로.->white, auto, 4로 출력됨.
Car c2 = new Car ("Blue")->나머진 괜찮은데 색깔은 blue로. -> blue, auto, 4로 출력됨.
Car c3 = new Car ("Red", "stick" , 2)->red, stick, 2로 출력됨.
캡슐화
패키지(package)
- 고유한 이름을 가지는 클래스들의 묶음
- 한 패키지에 같은 이름의 클래스 생성할 수 없다.
- 다른 패키지에는 같은 이름 생성할 수 있다.
- 마침표(.)를 구분자로 계층 구조를 구성한다.
ex) C:\JAVA\eclipse
-> C:\.JAVA.eclipse
import 선언
다른 패키지에 저장되어 있는 클래스를 간편하게 불러올 수 있는 것.
원래는 패키지명이 포함된 클래스 명을 매번 사용해야 하지만
import 선언을 사용하면 이 불편함을 줄일 수 있다.
예제 주석처럼 원래는
java.util.Data today = new java.util.Date();를 적어야 하지만
import java.util.Date; -> 이렇게 간단하게 출력이 가능하다.
접근 제어자(access modifier)
클래스, 변수, 메서드 접근을 제어하기 위한 특수한 키워드
public : 접근 제한 없음!!
protected : 같은 패키지 내, 다른 패키지 자손 클래스에서 접근 가능
default (아무것도 명시하지 않음) : 같은 패키지 내에서 접근 가능
private : 같은 클래스 내에서 접근 가능
public int age;
public double height;
private double weight; -> private 접근 제어자를 사용했기 때문에 다른 클래스인 오른쪽 예제에서 에러가 뜨는 것.
불편하지만 은행 같이 보안이 철저한 곳에서 자주 사용한다고 한다.
getter / setter
접근 제어자로 막혀있어 접근이 제한된 요소에 접근할 수 있도록 제공하는 메서드.
getter - 데이터를 가져오는 역할 / get변수명()
setter - 데이터를 저장시키는 역할 / set변수명()
원래는 private로 묶여있는 상태이지만
getSecret() 변수를 사용해서
그 값을 리턴하는 방식으로 -> 한 다리 건너서 사용할 수 있는 방식이라고 이해하면 쉽다.
ex) 친구와 친한 여자가 마음에 들 때 바로 가서 번호를 물어보긴 부끄럽지만
친구를 통해 (한 다리 건너서) 소개시켜달라고 부탁하는 방식.
'📒 education archive > 🎀JAVA' 카테고리의 다른 글
자바 공부 기록(8)-다형성, 인터페이스, 예외처리 (0) | 2021.08.13 |
---|---|
자바 공부 기록(7)-상속,오버라이드,일반 제어자 (0) | 2021.08.13 |
자바 공부 기록(5)-기본형 참조형 타입 매개변수,문자열 클래스 (0) | 2021.08.13 |
자바 공부 기록(4)-클래스,객체,선언 위치별 변수 (0) | 2021.08.13 |
자바 공부 기록(3)-for, while 반복문, 구구단 출력 (0) | 2021.08.13 |