JAVA - 4. this, 오버로딩, 패키지

CodeModel·2024년 1월 12일
0

자바

목록 보기
5/8

this

변수를 선언할 때 직관적으로 사용하기 위해 사용한다 생각하면 편하다.

public class Car {
	String name;
    
    // 예시1 생성자의 매개변수를 n으로 했을 때
    public Car(String n) { 
    	name = n; // n이 number의 약자인지 name의 약자인지 잘 모른다
    }
    // 그렇기 때문에 name 이라고 정확하게 사용하는 것이 좋다
    
    // 예시2 생성자의 매개변수를 똑같이 했을 때
    public Car(String name) { 
    	name = name; // 앞의 name에 뒤에 name을 넣어 주세요. 하지만 이름이 똑같기 때문에 이상해진다
    }
    // 그렇기 때문에 this를 쓴다
    
    // 예시3 this 사용
    public Car(String name) {
    	this.name = name; // name이 누군지 알려주는 this이다.
    }
    // this는 내 구성요소를 뜻한다. 즉 내 field의 name에 매개변수 name을 넣어주세요가 된다
}

메소드 오버로딩

매개변수의 수, 타입이 다른 경우 동일한 이름으로 메소드를 여러개 정의 할 수 있다.
메소드 오버로딩은 매개변수를 개수를 조정할 수 있고, 타입을 다르게 할 수 있다. 매개변수의 이름을 바꿔도 된다.
한마디로 동일한 이름의 여러개 메소드 생성 가능

public class MyClass {
	public int plus (int x, int y) {
    	return x + y;
    }
    
    public int plus (int x, int y, int z) {
    	return x + y + z;
    }
    
    public String plus (String x, String y) {
    	return x + y;
    }
}

생성자 오버로딩과 this

생성자도 메소드와 동일하게 오버로딩을 할 수 있다.

    public Car(String name) {
    	this.name = name;
    }
    
    public Car() {
    }
    
    public Car(String name, int number) {
    	this.name = name;
        this.number = number;
    }
    
    // 기본 생성자에 값을 넣어줄 수도 있다
    public Car() {
        // this.name = "이름없음";
        // this.number = 0;
        this("이름없음",0); // this는 자신을 가리키므로 위 주석과 동일 
    }

패키지

자바에서는 .으로 폴더 내부를 구분한다.
1. src 우클릭 -> 패키지 생성
2. global.css.wrapper 이름으로 패키지 생성
3. 해당 패키지에 우클릭 후 GlobalWrapper class 생성
4. src/global/css/wrapper/GlobalWrapper 생성 완료

클래스에서 패키지를 불러오는법

  1. import 로 불러오기
import global.css.wrapper.*; // * 은 패키지 내부의 모든 클래스를 사용한다는 뜻
  1. ctrl + shift + o 로 자동 불러오기
profile
개발자가 되기 위한 일기

0개의 댓글