목차
📢 오버로딩
- 하나의 클래스 내에서 같은 이름을 가진 메소드가 있는 것
🔊 오버로딩의 조건
- 메소드의 이름이 같아야함
- 매개변수의 개수 또는 타입이 달라야함(리턴 타입의 차이로는 오버로딩이 진행되지 않는다.)
class Car {
String name;
String type;
Car(String name, String type) {
this.name = name;
this.type = type;
}
public void printCarInfo() {
System.out.println("=== Car Info ===");
System.out.println("name: " + name);
System.out.println("type: " + type);
}
// 오버로딩 구현
public void printCarInfo(String date){
this.printCarInfo();
System.out.println("date = " + date);
}
public void printCarInfo(int num){
this.printCarInfo();
System.out.println("num = " + num);
}
public void printCarInfo(String date, int num){
this.printCarInfo();
System.out.println("date = " + date);
System.out.println("num = " + num);
}
}
📢 접근제어자
- 클래스의 변수나 메소드의 접근에 제한을 두는 키워드이다.
🔊 접근제어자 종류
- private : 해당 클래스에서만 접근
- public : 어디서든 접근 가능
- default : 해당 패키지 내에서만 접근 가능
- protected : 해당 패키지 및 상속 받은 클래스에서 접근 가능
package car;
public class Car2 {
public String name1;
public String name2;
public String name3;
public String name4;
public Car2(String name1,String name2,String name3,String name4){
this.name1 = name1;
this.name2 = name2;
this.name3 = name3;
this.name4 = name4;
}
}
🔊 Package
- 비슷한 성격의 클래스를 모아 놓은 자바의 디렉터리이다.
- src 디렉터리 -> New -> Package -> New Package명 설정
- New Package -> New -> Java Class 생성
🔊 Sub Package
- 기본 패키지 안에 존재하는 하위 패키지이다.
- 생성한 패키지 -> New -> New Package -> 패키지.Name(하위패키지 설정 시 "." 이용해서 사용한다)
🔉 Package 사용하기
- 패키지 사용 시에는 import를 사용해야한다.
- import Package.*; 기호를 사용하여 패키지 내에 모든 클래스를 사용하게 만든다.
📢 Static
- 변수나 메소드의 특성을 바꾸는 키워드\
🔊 Static의 특징
- 메모리에 한 번만 할당이 된다.
- Static의 변수나 메소드는 공유된다.
🔊 Static의 종류
- Static 클래스 변수 : 해당 클래스의 각 객체들의 값을 서로 공유
- Static 클래스 메소드 : 객체를 생성하지 않아도 호출이 가능하다.
class Car3 {
// 스태틱 변수
static String name = "Null";
// 스태틱 메소드
static void getName(){
System.out.println("Car name :" + name);
}
}
반응형
'Java' 카테고리의 다른 글
[Java] 상속과 오버라이딩 (0) | 2023.08.08 |
---|---|
[Java] 클래스와 객체(1) (0) | 2023.08.08 |
[Java] 컬렉션 프레임워크 (0) | 2023.08.07 |
댓글