StringTokenizer란? java.util패키지에 속한 클래스로 문자열을 구분자를 이용하여 나눌 때 주로 사용하는 클래스이다. 예를 들면 "I am jun"이라는 문자열을 StringTokenizer를 이요하여 공백을 구분자로 쪼개면 "I" "am" "jun"과 같이 3개로 나누어진다. StringTokenizer의 생성자 new StringTokenizer(String str) // 문자열 new StringTokenizer(String str, String delim) // 문자열, 구분기호 new StringTokenizer(String str, String, delim, boolean returnDelims) // str - 구문 분석할 문자열 // delim - 구분기호 // return..
System.out.println(참조변수); 호출 시 Object.toString이 호출되는 이유 우선 Object클래스의 toString(); 선언부 및 구현부를 살펴보자 public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); } 위의 코드와 같이 Object 클래스의 toString()은 설계도 객체, 클래스 이름, 위치 , 객체의 주소를 반환하는 코드로 구성되어 있다. System.out.println(); 선언부 및 구현부 public void println(Object x) { String s = String.valueOf(x); if (getClass() == PrintStre..
논리 연산자 &,&& 와 |,||의 차이를 알아보자. 간략하게 설명하면 논리 연산자 &&,||처럼 두 개가 사용되면 먼저 왼쪽의 식을 계산하여 boolean 값이 true여야 오른쪽의 식을 계산한다. &,|처럼 논리 연산자가 하나만 쓰인 경우 왼쪽의 식이 false여도 오른쪽의 식을 무조건 검사한다. 코드로 살펴보자 결과 x = 0, y = 1 x = 0, y = 2 a = 0, b = 1 a = 0, b = 2 결론 위의 코드에서 알 수 있 듯이 &&,|| 의 경우 앞의 식 즉 왼쪽의 식을 우선적으로 검사하고 그 값이 true를 반환하였을 때 오른쪽의 식은 연산에 수행되지 않는 것을 확인할 수 있다. 하지만 &,|의 경우 우선적으로 검사된 식이 true를 반환해도 오른쪽의 식을 무조건 검사한다. 그리고..
📌JVM이란? JVM은 'Java virtual machine'을 줄인 말로 '자바를 실행하기 위한 가상 머신' 즉 '가상 컴퓨터'라고 할 수 있다. '가상 컴퓨터'는 실제 하드웨어가 아닌 소프트웨어로 구현된 컴퓨터라는 뜻으로 컴퓨터 속의 컴퓨터라고 할 수 있다. 자바로 작성된 애플리케이션은 이 가상 컴퓨터(JVM)에서만 실행되기 때문에, 자바 애플리케이션이 실행되기 위해서는 반드시 JVM이 필요하다. 위의 그림에서 처럼 C언어 같은 경우 OS만 거치고 하드웨어로 바로 전달되는 것에 반해 JAVA는 JVM을 한번 더 거치는 것을 볼 수 있다. 그리고 하드웨어에 맞게 완전히 컴파일된 상태가 아니고 실행 시 해석(interpret)되기 때문에 속도가 느리다는 단점을 가지고 있다. 그러나 요즘엔 바이트코드(컴..