다음 중 클래스에 대한 설명으로 옳은 것은?
- 클래스명은 class 키워드를 사용하여 정의할 수 있고,
주로 대문자로 시작하는 것이 관례이다.- 클래스는 필드와 메서드
두 가지 구성요소로만 이루어져 있다.- 클래스는 객체를 생성하기 위한 일종의 틀이지만,
클래스를 사용하지 않고도 객체를 생성할 수 있다.- 일반적으로 하나의 소스 파일에 하나의
클래스를 정의하는 것이 권장된다.
내 답: 1
답: 1, 4
이유:
클래스는 필드와 메서드 이 외에도
생성자나 이너클래스를 구성요소로 가질 수 있으며,
기본적으로 클래스 없이 객체는 생성이 불가능하다.
소스 파일하나에 클래스 하나를 정의하는 것이 권장사항!!
다음 중 객체에 대한 설명으로 틀린 것을 모두 고르세요.
- 객체는 new 키워드를 통해 생성되며,
객체의 멤버에는 포인트 연산자(.)를 통해 접근할 수 있다.- 객체는 자바 메모리 구조 중 클래스 영역에 저장된다.
- 객체와 인스턴스는 기본적으로 같지만,
인스턴스는 특정 클래스와의 관계를 강조한다.- 동일한 클래스로 만든 모든 객체는
각기 다른 메서드 값을 공유한다.
내 답: 2, 3
답: 2, 4
이유:
객체는 자바 메모리 구조 중 힙 메모리에 저장되며,
동일한 클래스로 만든 객체는 같은 메서드를 공유한다.
객체와 인스턴스의 차이!!!
자바의 세 가지 변수 유형에 대한 다음의 설명 중
옳은 것을 모두 고르세요.
- 자바의 세 가지 변수 유형은 클래스 변수,
인스턴스 변수, 지역 변수이다.- 인스턴스 변수는 클래스가 메모리에 올라갈 때 생성된다.
- 일반적으로 특정 클래스로부터 생성된 모든 객체가
공유하는 속성을 클래스 변수로, 각 인스턴스의 개별적인
속성을 인스턴스 변수로 선언한다.- 지역 변수는 스택 메모리 영역에 저장되며,
반드시 직접 초기화를 시켜주어야 한다.
내 답: 1, 3
답: 1, 3, 4
이유:
인스턴스 변수는 인스턴스가 생성될 때 생성된다.
지역 변수는 스택 메모리에 저장되고 직접 초기화 해야함!!!
다음 중 생성자에 대한 설명으로 틀린 것을 고르세요.
- 생성자는 인스턴스가 생성될 때 호출되는
인스턴스 초기화 메서드이다.- 생성자의 이름은 반드시 클래스 이름과 같아야 하며,
리턴 타입을 가지지 않는다.- 생성자는 특수한 목적을 가진 메서드이기 때문에
메서드 오버로딩이 불가능하다.- 모든 클래스에는 반드시 하나 이상의
생성자가 존재해야 한다.
내 답: 4
답: 3
이유:
생성자도 메서드중 하나이기 때문에 오버로딩이 가능하다.
클래스에서 생성자가 없더라도
java의 compiler가 자동으로 생성한다!!!
다음 중 this 키워드와 this() 메서드에 대한 설명으로
옳지 않은 것을 모두 고르세요.
- this 키워드는 객체 자신을 의미하는 참조변수이며,
이를 통해 객체 자신의 변수에 접근 가능하다.- 클래스 메서드 안에서도 this를 사용할 수 있다.
- this() 메서드는 생성자 외부에서도 사용될 수 있다.
- 생성자 내에서 this()를 호출하는 것은 같은
클래스 내의 또 다른 생성자를 호출하는 것과 같다.
내 답: 3, 4
답: 2, 3
이유:
this 키워드는 "instance"가 자기 자신을 가리킬 때 사용되므로,
클래스 메서드 안에서는 사용불가
생성자 내에서 this()를 호출 할 수 있으며,
보통 생성자를 overiding 할 때 사용 하는 듯!!!