생성자를 계속 호출하는 아래 코드를 실행 했을 때, 어떻게 출력이 될까? Parent 클래스 package Questions.Inhertance.Q7; public class Parent { public String nation; public Parent(){ this("대한민국"); System.out.println("Parent() call"); } public Parent(String nation) { this.nation = nation; System.out.println("Parent(String nation) call"); } } Child 클래스 package Questions.Inhertance.Q7; public class Child extends Parent{ public String ..
Java
에러 설명 Parent 클래스를 상속해서 Child 클래스를 다음과 같이 작성했는데, Child 생성자에서 컴파일 에러가 발생한다. 그 이유와 해결 방법은? 코드 Parent 클래스 package Questions.Inhertance.Q6; public class Parent { public String name; public Parent(String name) { this.name = name; } } Child 클래스 package Questions.Inhertance.Q6; public class Child extends Parent{ public int studentNo; public Child(String name, int studentNo){ this.name = name; this.stude..
StringTokenizer 클래스는 Java 1.0 부터 제공하던 클래스로, 지정한 구분자로 문자열을 쪼개주는 클래스이다. Enumertaion 인터페이스를 구현하고 있다. 클래스를 사용한 간단한 예를 들면, "This is how to use Tokenizer." 라는 문자열을 공백 한 칸을 기준으로 쪼갠다면, This is how to use Tokenizer. 이렇게 총 6개의 토큰으로 쪼개고 순서대로 반환할 수 있는 것이 StringTokenizer 클래스의 기능이다. StringTokenizer 클래스를 사용하기 위해서는 먼저 java.util.StringTokenizer 를 import 해줘야 한다. 생성자(Constructor) public StringTokenizer(String str)..
public class Main { public static void main(String[] args) { int primitive = 1; // 기본 타입 변수 선언 및 초기화 Object reference = new Object(); // 참조 타입 변수 선언 및 초기화 System.out.println(primitive); System.out.println(reference); } } 결과 1 java.lang.Object@7a81197 Q1. 왜 변수 'reference' 에는 값을 할당하지 않았는데, 결과 값이 'java.lang.Object@7a81197' 가 나왔는가? Answer : 기본 변수는 데이터의 실제 값 '1' 을 저장한 반면, 참조 변수인 'reference' 는 해당 객체의 ..
타입 : 데이터의 메모리 저장 방식, 메모리 공간의 크기를 명시 저장 방식 기본 타입과 참조 타입 기본 타입(primitive type)(또는 원시 타입) 데이터의 실제 값 저장 정수 타입, 실수 타입, 문자 타입, 논리타입 참조 타입(reference type) 데이터가 저장된 주소값 저장 배열, 클래스, 인터페이스 등 public class Main { public static void main(String[] args) { int primitive = 1; // 기본 타입 변수 선언 및 초기화 Object reference = new Object(); // 참조 타입 변수 선언 및 초기화 System.out.println(primitive); System.out.println(reference); ..
상수 : 재할당이 금지된 변수 사용법 'final' 키워드 사용 관례적으로 대문자 및 언더바(_) 사용하여 구분 (SCREAMING_SNAKE_CASE) 사용 이유 변하면 안되는 값이 필요할 경우 코드 가독성 높이기 위해 fianl double CALCULATOR_PI = 3.1415; 코드 유지관리 위 예시를 들 경우, 상수를 사용하면 3.1415를 직접 그대로 사용할 때 보다 값의 변경이 쉬움. 상수의 할당 값만 변경하면 됨.
변수(variable) : 데이터를 저장하기 위해 이름을 할당받은 메모리 공간 특징 : 선언 및 초기화 필요 int num; //변수 선언 num = 1; //변수 초기화(할당) int num2 = 2 //변수 선언과 동시에 초기화 명명 규칙 카멜케이스를 사용한다. 두 번째 단어부터 대문자로 시작int camelCase; 변수명으로 영문자, 숫자, '_', '$' 사용 가능int num; int NUM; int num_1; int num$1; 자바에서 사용중인 예약어는 변수명으로 사용 불가int byte; //에러 int class; //에러