천천히 빛나는

Java 기초 : 정리본 (2) 본문

JAVA/JAVA

Java 기초 : 정리본 (2)

까만콩 •ᴥ• 2023. 8. 9. 02:18

1. 메소드 오버로딩이란 무엇인가?

하나의 메소드가 다양한 파라미터를 받을 수 있도록 하는 것

 

2. 클래스 변수를 초기화하는 블록

정적 초기화 블럭

정적(static)은 고정된이란 의미를 가지고 있다. 정적 멤버는 클래스에 고정된 멤버로, 객체를 생성하지 않고 사용할 수 있는 필드와 메소드를 말한다.

public class Coffe{
    static String kind = “과테말라 안티구아”;
    static int price = “10000”;
    static String info;
    
    static{
        info = kind + “,” + price;
    }
}

 

3. 인스턴스 변수와 클래스 변수의 차이점

인스턴스 변수는 객체마다 고유한 값을 가지지만 클래스 변수는 모든 객체가 공유하는 값을 가진다

public class test {
	int iv; // 인스턴스 변수
	static int cv; // 클래스 변수
	
	void method() {
		int lv; // 지역 변수
	}
}

클래스 변수(Static 멤버): 클래스 내에 Static 키워드로 선언된 변수

인스턴스 변수(Non-static 멤버): 클래스 내에 선언된 변수

 

4. 객체 배열에서 관리되는 특정 인덱스의 객체를 가져오는 방법은?

배열 변수명[index]

 

5. 자바에서 상속을 통해 클래스의 기능을 확장하기 위해 사용하는 키워드는 무엇인가?

extend

 

6. 자식 클래스에서 부모 클래스의 메소드를 호출할 때 사용하는 키워드는?

super

 

7. 서로 다른 패키지에 부모 클래스와 자식 클래스가 있을 때 자식 클래스에서는 부모 클래스의 어떤 접근 제어자 메소드만 사용 가능한가?

public과 protected 메소드만 사용할 수 있다

public : 접근 제한 없음

protected : 동일한 패키지 내에 존재하거나, 파생 클래스에서만 접근이 가능

default : 아무런 접근 제한자를 명시하지 않으면 default 값이 되며, 동일한 패키지 내에서만 접근이 가능

 

8. 자바에서 instanceof 연산자는 무엇을 확인하는 데 사용 되는가?

객체의 타입을 확인하는데 사용된다

 

9. 오버로딩과 오버라이딩의 구분 기준

메소드 시그니처

// 같은 메소드 시그니처
int doSomething(int y)
String doSomething(int x)

// 다른 메소드 시그니처
doSomething(String[] y)
doSomething(String y)

같은 이름으로 선언하고 다른 파라미터 리스트(Signature)를 가진 것 : 메서드 오버로딩(Method Overloading)

 

10. 객체 간 형 변화에 대한 설명

1) 상위 클래스 타입의 객체를 하위 클래스 타입으로 변환할 때는 명시적 형변환이 필요하다

2) 하위 클래스 타입의 객체를 상위 클래스 타입으로 변환할 대는 자도응로 형변환이 이루어진다

3) instanceof 연산자를 사용하면 객체가 어떤 클래스의 인스턴스인지 확인하고 형변환 할 수 있다

4) 다운 캐스팅은 컴파일러가 자동으로 형 변환을 수행하지 않는다

 

11. 추상클래스와 인터페이스의 공통점

다형성 적용을 위한 부모 타입 역할을 할 수 있다

 

12. 인터페이스의 특징

1) 구현 코드가 없는 메소드를 가질 수 있다

2) 다중 구현이 가능하다

3) public static final 변수만 필드에 선언이 가능하며 접근 제어자와 예약어는 생략이 가능하다

 

 

'JAVA > JAVA' 카테고리의 다른 글

Java 기초 : 클래스 패스와 패키지  (0) 2024.01.15
Java 기초 : 클래스 멤버 - static의 사용  (1) 2024.01.09
Java 기초 : 상속  (0) 2023.07.31
Java 기초 : Enum과 객체 배열  (0) 2023.07.30
Java 기초 : 객체  (0) 2023.07.28