반응형 전체 글37 JAVA :: 자바 문법 정리(5) JAVA :: 자바 문법 정리(5) 변수의 초기화 멤버변수는 초기화를 하지 않아도 자동적으로 변수의 자료형에 맞는 기본갑으로 초기화가 이루어지므로 초기화하지 않고 사용해도 되지만, 지역변수는 사용하기 전에 반드시 초기화해야 한다. (멤버변수(클래스변수와 인스턴스변수)와 배열의 초기화는 선택적이지만, 지역변수의 초기화는 필수적이다.) 멤버변수의 초기화는 지역변수와 달리 여러 가지 방법이 있다. ✔️ 명시적 초기화 : 변수를 선언과 동시에 초기화하는 것 ✔️ 생성자 ✔️ 초기화 블럭 👉 인스턴스 초기화 블럭 : 인스턴스변수를 초기화 하는데 사용 👉 클래스 초기화 블럭 : 클래스 변수를 초기화 하는데 사용 class testClass() { static { /* 클래스 초기화 블럭 */ } { /* 인스턴스 .. 2023. 4. 24. JAVA :: 자바 문법 정리(4) JAVA :: 자바 문법 정리(4) 가변인자 기존에는 메서드의 매개변수 개수가 고정적이었으나 JDK1.5 부터 동적으로 지정해 줄 수 있게 되었으며, 이 기능을 가변인자라고 한다. 가변인자는 ‘타입… 변수명’과 같은 형식으로 선언한다. PrintStream 클래스의 printf()가 대표적인 예이다. public PrintStream printf(String format, Object... args); { ... } 가변인자 외에도 매개변수가 더 있으면, 가변인자를 매개변수 중에서 제일 마지막에 선언해야 한다. 그렇지 않으면, 컴파일 에러가 발생한다. 가변인자는 내부적으로 배열을 이용한다. 그래서 가변인자가 선언된 메서드를 호출할 때마다 배열이 새로 생성된다. 가변인자가 편리하지만, 이런 비효율이 숨어있.. 2023. 4. 23. JAVA :: 자바 문법 정리(3) JAVA :: 자바 문법 정리(3) JVM 의 메모리구조 JVM 은 시스템으로부터 프로그램을 수행하는데 필요한 메모리를 할당받고 JVM 은 이 메모리를 용도에 따라 여러 영역으로 나누어 관리한다. ✔️ 메서드 영역 (method area) 프로그램 실행 중 어떤 클래스가 사용되면, JVM 은 해당 클래스의 클래스파일(*.class)을 읽어서 분석하여 클래스에 대한 정보(클래스 데이터)를 이곳에 저장한다. 그 클래스의 클래스변수도 이 영역에 함께 생성된다. ✔️ 힙 (heap) 인스턴스가 생성되는 공간. 프로그램 실행 중 생성되는 인스턴스는 모두 이곳에 생성된다. 즉, 인스턴스 변수들이 생성되는 곳이다. ✔️ 호출스택 (call stack or execution stack) 호출스택은 메서드의 작업에 필요.. 2023. 4. 22. JAVA :: 자바 문법 정리(2) JAVA :: 자바 문법 정리(2) 조건문과 반복문 JDK 1.5 부터 배열과 컬렉션에 저장된 요소에 접근할 때 기존보다 편리한 방법으로 처리할 수 있도록 for 문의 새로운 문법이 추가되었다. for (타입 변수명 : 배열 또는 컬렉션) { // 반복할 문장 } 위의 문장에서 타입은 배열 또는 컬렉션의 요소의 타입이어야 한다. 배열 또는 컬렉션에 저장된 값이 매 반복마다 하나씩 순서대로 읽혀서 변수에 저장된다. 그러나 향상된 for 문은 일반적인 for 문과 달리 배열이나 컬렉션에 저장된 요소들을 읽어오는 용도로만 사용 수 있다는 제약이 있다. 반복문은 그저 같은 문장을 반복해서 수행하는 것이지만, 메서드를 호출하는 것은 반복문 보다 몇 가지 과정, 예를 들면 매개변수 복사와 종료 후 복귀할 주소저장 .. 2023. 4. 21. 이전 1 2 3 4 5 6 ··· 10 다음 반응형