백엔드 공부하기/TIL

230724 TIL : JAVA의 객체, 메소드, static 이론 문제

개발중인 감자 2023. 7. 24. 16:24

📌 230724 : JAVA 객체 공부 📌


 

정보은닉된 멤버변수를 접근하기 위해서 만들어야 하는 메서드는 무엇인가.

getter, setter메서드를 이용하여 접근할 수 있다.

 

 

객체가 생성된 후 객체 자기 자신을 가리키는 레퍼런스 변수는 무엇인가.

this

 

 

매개변수 전달 기법 2가지를 기술하세요.

call by reference, call by value

✏️ call by reference
배열이나 객체를 담는 변수같이 주소를 담는 변수를 메소드의 매게변수로 보내는 방식. 
메소드의 매게변수와 호출하는 곳의 변수와 같은 기억공간의 메모리를 공유한다.

✏️ call by value
int, char 처럼 변수에 저장된 값을 메소드의 매게변수로 보내는 방식. 
메소드의 매게변수와 호출하는 곳의 변수와 같은 기억공간의 메모리를 공유하지 않는다.
but, String은 객체형이지만 call by value로 작동한다. 

 

 

static 키워드의 의미가 무엇인가.

정적인, 고정된 의미를 가지며 static이 붙은 변수나 메소드는

어떤 객체에 소속된 것이 아닌 클래스에 고정되어 있는 변수나 메소드이다.

1) 메모리에 고정적으로 할당된다.
2) 객체 생성 없이 사용이 가능하다.
3) 프로그램이 시작되면 static영역에 적재되어, 프로그램이 종료될 때 해제된다.
그래서 과도하게 많은 static 변수를 선언할 경우 과부하가 올 수 있다.
4) static 메소드 내에서는 인스턴스 변수를 사용할 수 없다. 객체를 생성하기 전에 static 메소드는이미 메모리에 올라가기 있기 때문에 인스턴스 변수를 사용할 수 없다. 반대로 인스턴스 메소드에서 static 변수를 사용하는 것은 가능하다.

 

 

JVM이 사용하는 메모리 모델 3가지를 설명하세요.

stack / heap / method = static = code

 

 

stack, queue 메모리의 특징을 설명하세요.

stack은 가장 나중에 들어온 데이터가 가장 먼저 빠져나가는 선입후출,

queue는 가장 먼저 들어온 데이터가 가장 먼저 빠져나가는 선입선출이다. 

 

 

메서드는 2가지 요소로 나누어 지는데 2가지는 무엇인가.

입력값, 결과값?

 

 

메서드는 동작 후 메서드 이름에 데이터를 저장(담아서)하는 역할을 하는 키워드는 무엇인가.

return

 

 

3행 4열의 실수형 데이터를 저장하기 위해서 배열을 생성하세요.

float[][] arr = new float[3][4];