본문 바로가기

Zero Base 백엔드 스쿨 6기

ZB BE 6th - 자바 공부 #6-2. 클래스와 객체

클래스와 객체_2

1. 오버로딩 : 한 클래스 내에서 같은 이름의 메소드를 여러 개 정의

오버로딩 조건
A. 메소드의 이름이 같아야함.
B. 매개변수의 개수 또는 타입이 달라야함.
(리턴 타입의 차이로는 오버로딩이 되지 않음)

ex) 
public class 클래스명 {

클래스명() {}
클래스명 (String name, String type) [
구현 내용;
 }
}

2. 접근제어자
클래스의 변수나 메소드의 접근에 제한을 두는 키워드

접근제어자 종류
A. private : 해당 클래스에만 접근 가능
>> 동일 패키지 [일반클래스, 상속받은 자식클래스], 외부 패키지[일반클래스, 자식클래스] 모두 접근 불가.

B. public : 어디서든 접근 가능
>> 동일 패키지 [일반클래스, 상속받은 자식클래스], 외부 패키지[일반클래스, 자식클래스] 모두 접근 가능.

C. default : 해당 패키지 내에서만 접근 가능
>> 동일 패키지 [일반클래스, 상속받은 자식클래스] 접근 가능, 외부 패키지[일반클래스, 자식클래스] 접근 불가

D. protected : 해당 패키지 및 상속받은 클래스에서 접근 가능
>> 동일 패키지 [일반클래스, 상속받은 자식클래스], 외부 패키지[자식클래스] 접근 가능, 외부 패키지[일반클래스] 접근 불가.


3. static : 변수나 메소드의 특성을 바꾸는 키워드

Static 특정
A. 메모리에 한번만 할당됨
B. 즉, Static변수나 메소드는 공유되는 특성을 가짐.

Static 클래스 변수 : 해당 클래스의 각 개체들이 값을 공유
Static 클래스 메소드 : 객체를 생성하지 않아도 호출 가능.