혜니니의 공부방

[국비지원] 210208 생성자, 접근지정자,This 본문

공부 기록/자바 프로그래밍 기초

[국비지원] 210208 생성자, 접근지정자,This

니니혜 2021. 2. 8. 18:59

This 


- 객체 생성시 각 객체마다 하나씩 생성
-생성되면 상수처럼 사용 가능
-객체 자기 자신
-class 내부에서만 사용 가능
-생략가능
-객체가 생성시 만들어진 객체의 메모리의 주소가 자동으로 들어가는 변수
-매개변수명과 멤버변수명(인스턴스변수명)을 구분지을때 많이 사용
-개발자가 선언하는 것이 아니라 자동으로 생성
--this. 멤버변수명
--this. 멤버메서드명(인자값_


-- 메서드가 끝나면 호출한 곳으로 되돌아감


생성자 this();
- 생성자 내에서 다른 생성자를 호출할 때 사용하는 메서드
- 생성자 내에서 첫줄에 위치, 그 외에는 Error뜸




생성자 Constructor

- 객체 생성시 딱 한번호출되는 특수한 메서드
- 객체 생성시 멤버변수의 값을 초기화시키거나,또는 어떤 일을 하고싶을때
- 모든 클래스에는 하나 이상의 생성자가 있어야함.
- 매개변수가 없는 생성자를 기본 생성자라고 한다. Default Contructor
- 클래스 내에 생성자가 하나라도 없으면 컴파일러가 기본 생성자를 만들어준다. 
- 단, 개발자가 하나 이상의 생성자를 선언하면 컴파일러는 기본 생성자를 만들어주지않는다.


생성자 선언 공식

-메서드 선언과 거의 동일
-접근지정자 메서드명(클래스명과 동일하게 작성) 

멤버변수 초기화

1. 객체 생성 후 멤버 변수에 값을 대입한다.
Test t= new Test();
t.num=1;

2. 멤버변수 선언시 값을 대입한다.
int num=1;

3. 생성자에서 값을 대입하는 방법

4. 인스턴스 초기화블럭 
// 잘 사용하지는 않는다 오히려 생성자를 많이 사용한다.

5. 멤버 메서드를 이용해서 대입하는 방법
 // 가장 많이 사용하는 방법 




접근지정자

 


: 사용 권한 지정
: 기준- 패키지, 클래스
: 클래스, 메서드, 멤버변수
: 4개 중 1개만 선언가능( 중복선언은 불가하다.)


 public : public으로 선언된 것들은 어디에서든 사용 가능
 protected: 같은 패키지 내에서만 사용 가능/ 단, 상속 관계에서는 다른 패키지에서도 접근 가능 
 default 같은 패키지 내에서만 사용 가능/
 private 같은 클래스 내에서만 사용 가능
: 멤버변수를 선언할때는 주로 private으로 선언합니다
data는 멤버변수를 이용해 입출력합니다. 

2. 그외지정자 
- 부가적인 의미를 가지고 있음.
 static : 내일 설명 예정 
final:  변하지않는 , 마지막, 변경할 수 없는 
 a) 클래스 선언부 : 해당 클래스는 상속(extends)금지 
 b) 멤버변수 선언부 : 변수가 아닌 상수로 사용하라는 이야기.
 c) 멤버메서드 선언부 : 해당 메서드를 오버라이딩 금지.
abstract: 
- 추상, 변경해라. 
 a) 클래스 선언부 : 해당 클래스는 상속extends 해서 사용 / 추상클래스라고 부름
 b) 멤버메서드의 선언부   : 해당 메서드는 오버라이딩해서 사용
 c) 
 
그외 지정자는 여러개 사용 가능
단, 의미가 맞지 않는 것들은 중복 사용 불가. 
 
 void :
===== > 생성자를 이용해서 넣지는 않고. 모든 멤버변수는 프라이빗으로 바꿔서 선언해야한다.
집어넣기 = Setter / 출력하기.= Getter 메서드 with private  얘넨 무조건 public 으로 선언하기.

setter & getter 자동 생성 
src - generate setters & getters -> 필요한거 선택 > generate 클릭




Overloading 오버로딩

- 비슷한 일을 하는 같은 이름의 메서드를 여러개 생성
- 선언부중 이름이 같아야한다. 
- 매개변수의 선언된 갯수나 타입이 달라야함

메서드 오버라이딩

Comments