JAVA 기본 개념 정리 - (1)
클래스가 무엇인가요?
객체들을 찍어 내기 위한 금형, 붕어빵 틀, 설계도 같은 것
객체는 무엇인가요?
소프트웨어에서 구현할 대상
클래스의 3가지 구성 요소는 무엇인가요?
필드(클래스에 포함된 변수), 생성자(클래스가 생성될 때 호출되는 메서드), 메서드(클래스의 멤버로서 하나의 기능)
자바의 static, stack, heap 메모리에 대하여 조사해 보세요.
static : 프로그램의 시작부터 종료가 될때까지 저장되는 공간 ex)전역변수, Static 멤버변수
stack : 괄호 블록 내에 정의된 지역변수의 데이터 값이 저장되는 공간
heap : 프로그래 실행 도중에 생성된 객체 또는 인스턴스가 저장되는 공간
static 키워드는 언제 사용하면 좋을까요.
클래스 레벨의 변수나 메소드, 모든 인스턴스가 공유하는 공통의 자원
static 변수, 인스턴스 변수, 지역 변수의 각 특징은 어떠한 것이 있으며, 각각 어떠한 경우에 사용하나요.
static 변수 : 전역 변수(클래스 영역 변수)
인스턴스 변수 : 클래스 영역에 선언된 변수, 인스턴스가 생성될 때 만들어지는 변수,
지역 변수 : 특정 메서드 내에 선언된 변수
접근 지정자(제어자)란 무엇이며, 이런 개념이 왜 필요하나요?
접근 지정자 : 접근을 제어하기 위해 사용
각각의 클래스의 접근 권한을 관리하기 위해 필요합니다. ex) Public, Protected, default, private
getter(), setter()란 무엇인가요?
getter() : 내부의 멤버변수에 저장된 값을 외부로 리턴
setter() : 외부로부터 데이터를 전달받아 멤버변수에 저장
this 키워드란 무엇인가요?
자기 자신을 가리키는 키워드(포인터)
생성자의 정의와 필요성 및 생성하는 방법에 대하여 조사해 보세요.
생성자의 정의 : 객체가 생성될 때 객체의 초기화를 위해 실행되는 메소드
생성자의 필요성 : 어떤 객체가 생성과 동시에 유효함을 보장하는 역할
생성자와 메소드의 차이는 무엇인가요.
생성자는 클래스의 이름과 동일함, 클래스 생성시, 단한번만 호출되며, 객체의 초기화를 담당함.
메서드는 매번 호출 될 수 있으며, 클래스 이름과 동일하지 않음.
오버로딩이란 무엇이며, 이런 개념이 왜 필요하나요?
오버로딩 : 한 클래스 내에 같은 이름의 메서드를 여러개 정의
오버로딩이 필요한 이유 : 매개변수의 개수 또는 타입 따라 처리하는 로직이 다를경우 사용