본문 바로가기

java

생성자 내부클래스

 
 
 
 
public class Calculator Demo1 {
	public static void main(String[] args) {
		Calculator c1 = new Calculator(10, 20);
    	c1.sum();
    	c1.avg();
    
    Calculator c2 = new Calculator(20, 40);
    	c2.sum();
    	c2.avg();
       }
    }

여기서 생성자는 new 뒤에 Calcuator 이다.
생성자에 가로로 인자를 주고 있는 (10, 20)은 생성자라는 것을 더 명확하게 해주는 것~!
인스턴스를 생성하는 자 = 생성자
생성자는 return 타입 없다.

  • this vs this()이 코드에서 this.modelName = modelName 대신 modelName = modelName 이라고 작성되면 둘 다 지역변수로 간주되기 때문에 이를 구분해주기 위해 this가 사용되는 것이다~
  • Class Car { private String modelName; private String color; private int maxSpeed; public Car(String modelName, String color, int maxSpeed) { this.modelName = modelName; this.color = color; this.maxSpeed = maxSpeed; }

-> this
인스턴스 자신을 가르키는 참조변수
인스턴스의 주소가 저장
주로 인스턴스 변수와 매개변수로 정의된 지역변수를 구분하는데 사용

-> this()
같은 클래스의 다른 생성자를 호출할 때 사용
! 2가지 조건
생성자 첫번쨰 줄에 와야 한다
클래스 이름 대신 this 사용

내부클래스

  • 인스턴스 내부 클래스
    객체 내부에 멤버 형태로 존재하며 외부 클래스의 모든 객체에 접근 가능하다.
  • 정적 내부 클래스
    내부 클래스가 외부 클래스의 존재와 상관없이 정적 변수를 사용할 수 있게 된다.

'java' 카테고리의 다른 글

Java Arrays.sort(), Collection.sort() 정렬 알고리즘  (1) 2024.10.19
Java 시간 유형에 대한 고민  (1) 2024.04.19
HashMap 의 동작 원리  (1) 2024.02.27
method class instance object  (0) 2022.09.23
Linked List vs Array List  (0) 2022.09.23