📘 생성자
📚 기본 생성자
- 자동으로 만들어짐
- 다른 생성자가 있으면 자동으로 만들어지지 않음
생성자가 필요한 이유
생성자는 몇 개까지?
- 매개 변수 개수의 제한은 없고, 몇 개를 만들어도 상관 없음
- 하지만 어떤 생성자들이 필요한가 생각하고 적합하게 만들어야 함
this
- 객체의 변수와 매개 변수의 이름이 동일할 때 인스턴스의 변수를 구분하기 위해서 사용
- this.xx라고하면 매개 변수 안에 있는 xx가 아닌 이 객체의 x라고 명시적으로 지정해 줌
📚 메소드 오버로딩
- 메소드 이름은 같지만 매개 변수들을 다르게 만드는 것
- 같은 역할을 하는 메소드는 같은 메소드 이름을 가져야 한다는 모토로 사용
메소드 종료되는 조건
- 메소드의 모든 문장이 실행됨
- return 문장 도달
- throw 발생
📚 static
- 객체를 생성하지 않아도 메소드를 호출할 수 있음
- static 메소드는 클래스 변수만 사용할 수 있음
static 블록
- 객체가 생성되기 전에 한 번만 호출
- 클래스 내에 선언되어 있어야 함
- 여러 개를 선언할 수 있지만 선언 순서가 매우 중요함
📚 pass by value와 pass by reference
pass by value
- 값을 전달, 호출되기 전과 후에 데이터가 변경되지 않음
pass by reference
int a = 4;
int b = a;
a = 7;
System.out.println("a = " + a + ", b = " + b);
Member member = new Member();
member.setName("GodOfJava");
Member member2 = member;
member2.setName("member2 name");
System.out.println("member name = " + member.getName() + ", member2 name = " + member2.getName());