이전 시간 이어서, 이전시간 생성자인 매개변수 생성자를 공부하다가 마무리하였다.
다시 한번 정리 하자면,
1. 생성자
new 연산자를 통해 객체가 생성될때,
생성된 객체의 필드 값 초기화 + 지정된 기능을 수행하는 역할이다.
1) new 연산자를 통해 객체 생성

2) 생성된 객체 필드값 초기화 + 기능 수행 역할

2. 매개변수 생성자
: 생성자나 메소드 호출 시 ()안에 작성되어 전달되어지는 값을 저장하는 변수
● 매개변수자동완성
alt + shift +s + o -> enter
● 사용이유
: 필드를 모두 초기화 하는 용도로 사용한다.

현재,매개변수를 이용하여, User객체를 생성하였고, 생성자 수행 시 전달할 값을 작성하였다.
콘솔에 매개변수 생성자를 이용하여 전달한 값을 잘 넣어 준 것은 test3 / pass333으로 작성되어 있지만,
왼쪽 u3. getUserId / getUserPw 콘솔에 찍어보면 null값이 나온다!
그 이유는 매개변수는 생성자 가로 안에서만 사용가능하기 때문이다.
만일 u3. getUserId / getUserPw에도 test3 / pass333이 나오고 싶으면 어떻게 하면 되냐 !
바로 this를 이용하여 전달 받은 값을 필드에 초기화를 해야한다.
3. this 참조 변수
: 객체가 자기 자신을 참조할 수 있도록 하는 변수이며 모든 객체 내부에 숨겨져 있다.
또한 this에는 자기자신(인스턴스)의 주소가 저장되어 있다.
● 사용이유
- 필드명과 매개변수명이 같을 경우 구분하기 위해 사용한다.
- 구분하려고 ? 이 말은 아래를 확인해보면 알 수 이해할 수 있을 것이다.

4. this () -> this 생성자
: 생성자, 같은 클래스의 다른 생성자를 호출할 때 사용, 반드시 첫 번째 줄에 선언해야한다.
this.userId = userId;
this.userPw=userPw;
아래 코드를 보면 두번 작성하는 게 아닌
this(userId,userPw)라고 작성을 하면 된다.

● 사용이유
- 중복코드 제거, 코드길이 감소, 재사용성증가
(감동성이 어려운 경우아 생길 수가 있어, 많이 사용되진 않는다)
5.오버로딩(Over Loading)
(이름은 하나인데 다른 기능을 한다. )
한 클래스 내에서 동일한 이름의 메소드 (생성자도포함) 여러 개 작성하는 기법
-> 하나의 이름으로 여러가지 기능을 수행할 수 있게 하는 것이다.
● 조건
1. 메소드(생성자 포함)의 이름이 동일
2. 매개변수 개수, 타입, 순서 중 1개라도 달라야한다.

여기서, 순서는 변수명이 중요한게 아니라! 타입순서가 동일한것이라고 생각하면 된다.
1.메소드 작성법
[접근제한자] [예약어] 반환형 메소드명([매개변수]){}
public static 기본자료형
protected final 참조형(배열,클래스)
(default) abstract void
private static final
여기서 반환형 void는 해당 메소드가 끝나고 호출한 곳으로 돌아갈 때, 반환할 값이 없다라는 뜻이다.
'ON > JAVA' 카테고리의 다른 글
13일차_객체지향_상속 (0) | 2023.05.03 |
---|---|
12일차 객체지향에 대해서 복습 및 객체 실습 문제 (0) | 2023.05.02 |
10일차_ 객체지향 2번째 시간 (0) | 2023.04.28 |
9일차_드디어 객체지향 (0) | 2023.04.27 |
8일차_ 2차원 배열 (0) | 2023.04.26 |
이전 시간 이어서, 이전시간 생성자인 매개변수 생성자를 공부하다가 마무리하였다.
다시 한번 정리 하자면,
1. 생성자
new 연산자를 통해 객체가 생성될때,
생성된 객체의 필드 값 초기화 + 지정된 기능을 수행하는 역할이다.
1) new 연산자를 통해 객체 생성

2) 생성된 객체 필드값 초기화 + 기능 수행 역할

2. 매개변수 생성자
: 생성자나 메소드 호출 시 ()안에 작성되어 전달되어지는 값을 저장하는 변수
● 매개변수자동완성
alt + shift +s + o -> enter
● 사용이유
: 필드를 모두 초기화 하는 용도로 사용한다.

현재,매개변수를 이용하여, User객체를 생성하였고, 생성자 수행 시 전달할 값을 작성하였다.
콘솔에 매개변수 생성자를 이용하여 전달한 값을 잘 넣어 준 것은 test3 / pass333으로 작성되어 있지만,
왼쪽 u3. getUserId / getUserPw 콘솔에 찍어보면 null값이 나온다!
그 이유는 매개변수는 생성자 가로 안에서만 사용가능하기 때문이다.
만일 u3. getUserId / getUserPw에도 test3 / pass333이 나오고 싶으면 어떻게 하면 되냐 !
바로 this를 이용하여 전달 받은 값을 필드에 초기화를 해야한다.
3. this 참조 변수
: 객체가 자기 자신을 참조할 수 있도록 하는 변수이며 모든 객체 내부에 숨겨져 있다.
또한 this에는 자기자신(인스턴스)의 주소가 저장되어 있다.
● 사용이유
- 필드명과 매개변수명이 같을 경우 구분하기 위해 사용한다.
- 구분하려고 ? 이 말은 아래를 확인해보면 알 수 이해할 수 있을 것이다.

4. this () -> this 생성자
: 생성자, 같은 클래스의 다른 생성자를 호출할 때 사용, 반드시 첫 번째 줄에 선언해야한다.
this.userId = userId;
this.userPw=userPw;
아래 코드를 보면 두번 작성하는 게 아닌
this(userId,userPw)라고 작성을 하면 된다.

● 사용이유
- 중복코드 제거, 코드길이 감소, 재사용성증가
(감동성이 어려운 경우아 생길 수가 있어, 많이 사용되진 않는다)
5.오버로딩(Over Loading)
(이름은 하나인데 다른 기능을 한다. )
한 클래스 내에서 동일한 이름의 메소드 (생성자도포함) 여러 개 작성하는 기법
-> 하나의 이름으로 여러가지 기능을 수행할 수 있게 하는 것이다.
● 조건
1. 메소드(생성자 포함)의 이름이 동일
2. 매개변수 개수, 타입, 순서 중 1개라도 달라야한다.

여기서, 순서는 변수명이 중요한게 아니라! 타입순서가 동일한것이라고 생각하면 된다.
1.메소드 작성법
[접근제한자] [예약어] 반환형 메소드명([매개변수]){}
public static 기본자료형
protected final 참조형(배열,클래스)
(default) abstract void
private static final
여기서 반환형 void는 해당 메소드가 끝나고 호출한 곳으로 돌아갈 때, 반환할 값이 없다라는 뜻이다.
'ON > JAVA' 카테고리의 다른 글
13일차_객체지향_상속 (0) | 2023.05.03 |
---|---|
12일차 객체지향에 대해서 복습 및 객체 실습 문제 (0) | 2023.05.02 |
10일차_ 객체지향 2번째 시간 (0) | 2023.04.28 |
9일차_드디어 객체지향 (0) | 2023.04.27 |
8일차_ 2차원 배열 (0) | 2023.04.26 |