목록Java (3)
jayden
자바에서 대표적으로 문자열을 다루는 자요형 클래스로 아래와 같이 3가지가 있다. 3가지 클래스는 문자열을 다루는데 있어 공통점이 있지만 사용목적 이나 상황에 맞는 클래스를 선택해야한다. String vs (StringBuffer, StringBuilder) 비교 String은 불변 || StringBuffer, StringBuilder은 가변String은 불변이라는 말을 이해 하기 위해서 String 값이 메모리에 어떤 형식으로 저장 되는지 알아야한다.기본적으로 리터럴 방식으로 String을 선언 했을떄String str = "hello";str = str + " java";System.out.println(str); // hello java 위의 예제 코드를 보았을떄 변수 str 가 참조하는 메모리..
정적(Static)이란?정적(static)은 고정된이란 의미를 가지고 있습니다. Static이라는 키워드를 사용하여 Static변수와 Static메소드를 만들 수 있는데 다른말로 정적필드와 정적 메소드라고도 하며 이 둘을 합쳐 정적 멤버라고 합니다. (클래스 멤버라고도 합니다.) 정적 필드와 정적 메소드는 객체(인스턴스)에 소속된 멤버가 아니라 클래스에 고정된 멤버입니다. 그렇기에 클래스 로더가 클래스를 로딩해서 메소드 메모리 영역에 적재할때 클래스별로 관리됩니다. 따라서 클래스의 로딩이 끝나는 즉시 바로 사용할 수 있습니다. Static 키워드를 통해 생성된 정적멤버들은 Heap영역이 아닌 Static영역에 할당됩니다. Static 영역에 할당된 메모리는 모든 객체가 공유하여 하나의 멤버를 어디서든지 ..
대부분 초보자를 위한 java 관련 블로그나 기타 내용을 보면 literal에 대한 내용은 꼭 나오지만 설명이 10줄이 넘어 가는 것이 없었다. 그래서 꼭 언급할 만큼 중요는 한데 왜 내용이 빈약 하지라는 의문을 갖고 여기저기 찾아 보았는데....그러나 대부분 외국형님들의 강의 내용을 찾아보니 리터럴에 대해 강조를 하고 있어, 리터럴 정복을 위해 해당 내용을끄적여 본다... 대부분 알려주는 리터럴의 기본 개념은 그렇게 어렵지 않다.jvm의 메모리 영역중 heap 영역 안에 String constant pool 이라는 곳에 저장이 되는 것인데....여기에 저장되는 종류를 보면String name = "kdy"; 이런식으로 String 으로 선언된 값 "kdy"에 해당 되는 모든 부분이 String con..