[JAVA] 22-06-13 상수풀 / String · StringBuilder · StringBuffer ☑
·
STUDY/JAVA
String 문자열 String은 문자열 리터럴 동일하다면 String 객체 공유 문자열 상수 풀(String Constant Pool) 자바 힙 영역에는 문자열 리터럴을 저장하는 저장 공간 이 저장 공간을 통해서 문자열을 관리한다. 문자열 상수 풀에 동일한 문자열("hello")이 이미 존재하는지 확인한다. 문자열 상수 풀에 문자열이 있다면, 해당 문자열에 대한 참조를 반환한다. 문자열 상수 풀에 문자열이 없다면, 풀에 새로운 문자열을 생성하고 문자열에 대한 참조 값을 반환한다. new 키워드를 이용하여 String 객체를 생성할 때에는 문자열이 문자열 상수 풀에 저장되지 않습니다. new 키워드를 사용할 때 JVM은 힙 영역에 새로운 String 객체를 생성합니다. 따라서 메모리 공간 효율(재사용성)..
[JAVA] 22-07-14 중첩 클래스 중첩 인터페이스 ☑
·
STUDY/JAVA
중첩클래스와 중첩인터페이스 class ClassName { class NestedClassName { } } class ClassName { interface NestedInterfaceName{ } } 중첩클래스 중첩클래스 예제 //바깥클래스 class A { A(){System.out.println("A 객체가 생성됨");} //인스턴스멤버클래스 class B { B(){System.out.println("B 객체가 생성됨");} int field1; //static int field2;불가 void method1(){ System.out.println(field1); } //static void method2(){}불가 } //정적멤버클래스 static class C{ C(){System.out.p..
[JAVA-이것이자바다.6장] 클래스 확인 문제
·
STUDY/JAVA
필드, 생성자, 메소드에 대한 설명으로 틀린 것은 무엇입니까? 1. 필드는 객체의 데이터를 저장한다. 2. 생성자는 객체의 초기화를 담당한다. *객체를 생성할때, 생성자를 호출함으로서 객체를 초기화한다. 3. 메소드는 객체의 동작 부분으로, 실행코드를 가지고 있는 블록이다. ✔ 4. 클래스는 반드시 필드와 메소드를 가져야 한다. *반드시는 아니다. 필드에 대한 설명으로 틀린 것은? 1. 필드는 메소드에서 사용할 수 있다. 2. 인스턴스 필드 초기화는 생성자에서 할 수 있다. ✔ 3. 필드는 반드시 생성자 선언 전에 선언 되어야 한다. *생성자 선언 다음에도 선언이 가능하다. 4. 필드는 초기값을 주지 않더라도 기본값으로 자동 초기화된다. 생성자에 대한 설명으로 틀린 것은? ✔ 1. 객체를 생성하려면 생성..
[JAVA-이것이자바다.5장] 참조 타입 확인 문제
·
STUDY/JAVA
참조타입에 대한 설명으로 틀린 것은? 1.참조 타입에는 배열,열거,클래스,인터페이스가 있다. 2.참조타입변수의 메모리 생성위치는 스택이다. *변수는 다 스택 3.참조타입에서 ==, != 연산자는 객체 번지를 비교한다 ✔ 4.참조타입은 null 값으로 초기화 할 수 없다. *참조타입은 null로 초기화 가능하다. 참조타입에 대한 설명으로 틀린 것은? 1.로컬변수는 스택영역에 생성되며 실행 블록이 끝나면 소멸된다. 2.메소드 코드나, 상수, 열거 상수는 정적(메소드) 영역에서 생성된다. ✔3.참조되지 않는 객체는 프로그램에서 직접 소멸 코드를 작성하는 것이 좋다. *참조되지않은 객체는 자바의 가비지컬렉터가 자동 소멸 시켜 준다. 4.배열 및 객체는 힙영역에 생성된다. String타입에 대한 설명으로 틀린 것..
[JAVA] 22-07-08 인터페이스를 이용한 주행 모드 바꾸기 문제 ☑
·
STUDY/JAVA
문제 1번 package exam05_instanceof; public interface hipasspay_interface extends pay_interface { public void HipassPay(); } package exam05_instanceof; public interface pay_interface { public void Pay(); } package exam05_instanceof; public interface Vehicle { public void run(); } package exam05_instanceof; import java.util.Scanner; public class Bus implements Vehicle , pay_interface { int inputpay =..
[JAVA]22-07-08 컬렉션 프레임워크 ☑
·
STUDY/JAVA
컬렉션 프레임워크(Collection Framework) 컬렉션 : 사전적의미로 요소(객체)를 수집해 저장하는 것 전부 heap에 들어간다. 배열의 문제점 저장할 수있는 객체 수가 배열을 생성할 때 결정 → 불특정 다수의 객체를 저장하기엔 문제 객체를 삭제했을 때 해당 인덱스가 비게됨 → 낱알이 덤성덤성 빠진 옥수수가 될 수 있다. → 객체를 저장하려면 어디가 비어있는지 확인 //길이가 10인 배열 생성 Product[] array = new Product[10]; //객체 추가 array[0] = new Product("Model1"); array[1] = new Product("Model2"); //객체 검색 Product model1 = array[0]; Product model2 = array[1..
[JAVA] 22-07-07 인터페이스를 활용한 간식 먹기 문제 ☑
·
STUDY/JAVA
문제 : 사람 A,B,C등 여러사람이 있습니다. 젤리중에 망고 포도 딸기가 있습니다. 골라서, 먹습니다. package interfacePack; public interface Customer { public String name(); } package interfacePack; public class Who implements Customer{ //인테페이스는 필드값이 상수여야함 //초기화를 해주어야 했기 때문에 사용하지않음 String name = ""; @Override public String name() { //랜덤으로 이름 설정 while(true){ int personselect = (int)(Math.random()*3) + 1; if(personselect == 1){ name = "비실..
[JAVA-이것이자바다.4장] 조건문과 반복문 확인 문제
·
STUDY/JAVA
for문을 이용해서 1부터 100까지의 정수 중에서 3의 배수의 총합을 구하는 코드를 작성하라 public class ex03 { public static void main(String[] args) { int sum = 0; for(int i =0; i