클래스의 객체를 생성할 때, 인스턴스의 초기화를 위해 호출되는 특수 메소드
❗️인스턴스 생성 ➡️ new 키워드
생성자를 선언하지 않으면 컴파일러가 자동으로 기본 생성자를 생성
생성자 ∈ 메소드 ➡️ 오버로딩 가능
선언
1. 클래스와 이름이 같아야 함
2. 리턴 타입 없음, void 문
선언 ❌
인스턴스 자신을 가리킴 ➡️ 자신의 변수 접근!
주로 인스턴스 변수와 매개변수를 구분하기 힘들 때 사용
자신이 속한 클래스의 다른 생성자를 호출
조건
1. 생성자 내부에서만 사용
2. 생성자의 첫 줄에 위치해야 함
class People {
String name;
int height;
// 기본 생성자
public People() {
this("null", 0);
};
// 매개변수가 한 개인 생성자
public People(String name) {
// this()로 자신이 속한 클래스의 다른 생성자 호출
this(name, 0);
};
// 매개변수가 두 개인 생성자
public People(String name, int height) {
// this로 인스턴스 자신에 접근
// 인스턴스의 변수에 매개로 받은 값 저장
this.name = name;
this.height = height;
};
}
클래스 안에 정의되는 클래스
내부 클래스와 서로 연관되어 있을 때 사용
1. 인스턴스 내부 클래스
2. 정적 내부 클래스
3. 지역 내부 클래스
4. 익명 내부 클래스
class Outer {
// 인스턴스 내부 클래스
class Inner () { };
// 정적 내부 클래스
static class Inner () { };
// 지역 내부 클래스
void study () {
Class LocalInner() { };
}
}
자바..... 미쳤냐.....
말 장난이 너무 심해서 이 말이 저 말 같고 이게 저거같고
그래서 뭐가 어쨌다는 지 알기 너무 힘들다
오히려 코드 읽고 이해하는 게 더 쉬운 수준..........
자바는 역시.. 오래 공부하고 붙잡고 있지 않는 이상 매번 새롭다........
대학 2학년 때부터 지금까지 벌써 자바 이론만 4번째 훑는 중인데 알면서도 헷갈린다............. 이젠 진짜 알 때도 됐잖아...🥺 .....
하아아아
오늘도 '생성자? ㅇㅋ 쉽지~' 하면서 공부하는데 이너클래스....진심을 담아 정색..😐 .... 진심 헷갈림
나는 왜 생성자보다 이너클래스가 더 어렵지???? ㅠㅠ .... 엄청나게 헷갈림
일단 왜 써야하는지 제대로 파악이 안 됨
외부 클래스 멤버의 접근제어자가 private 일때 내부 클래스에서 접근이 가능하다 정도?,,, 내가 어떻게 코드에 써먹어야 할지 감이 안 옴
뿌엥 그 잡채
오늘 체크 포인트에서 엔지니어님이 블로그 작성에 대해 이런 조언을 주셨다.
(드디어 뭐라고 불러야 되는 지 알아냄! 엔지니어님!!!🥹)
😇 여러분 ~~ 저희는 전문 엔지니어가 아니잖아요~ 우리는 누군가에게 도움을 줄 수 있는 글을 쓰자는 게 아니에요~ 그 날 배웠던 개념을 다시 떠올리고 공부하는 과정에 집중하시고 나만 알아볼 수 있게 쓰시면 돼요~~
감동받아서 울 뻔
블로그는 읽기 좋아야 한다는 강박이 있었는데, 그러지 말아야지 하면서도 마음처럼 안 됐다.
근데 그러지 않아도 된다는 말을 다른 사람(그것도 엔지니어님)의 입을 통해 들으니 마음이 편안해졌다 🥹
조아 진짜 다 내려놓고 써보자고 🔥🔥🔥🔥🔥🔥🔥🔥