지역변수 특정 구역 내에서 생성되어 그 구역에서만 사용 public class ExamMain { static String str = "전역변수"; public static void main(String[] args) { System.out.println(str); String local = "지역변수"; System.out.println(local); method1(); } public static void method1() { System.out.println(str); //System.out.println(local); //지역변수이기에 출력 불가. 에러발생 } } // Console 전역변수 지역변수 전역변수 전역변수 멤버(인스턴스) 변수 : 클래스 영역에 선언되어, 객체가 생성될 때 마다 만들어..
값에 의한 전달 / 주소값에 의한 전달 Call by Value // count의 값을 add에 넘겨 변경시키더라도 출력값엔 변화가 없다 // ( 값을 전달받았기 때문에 ) class Add { void add(int count) { count++; } } class Counter { int count = 0; } public class ExamMain { public static void main(String[] args) { Counter counter = new Counter(); System.out.println("더하기 전 : "+counter.count); Add add1 = new Add(); add1.add(counter.count); System.out.println("더한 후 : "+c..
StringBuffer 문자열을 추가하거나 변경할 때 주로 사용하는 자료형 String 자료형이나 인스턴스의 경우 생성되면 변경이 불가능 → 문자열을 추가, 변경하는 과정 필요 버퍼(buffer)라는 독립적 공간을 통해 값을 변경, 추가 버퍼는 기본적으로 16개의 문자를 저장할 수 있지만 생성자를 통해 크기를 설정 가능 버퍼(Buffer) : 임시저장공간 데이터를 한 곳에서 다른 한 곳으로 전송하는 동안 일시적으로 그 데이터를 보관하는 메모리의 영역 ※버퍼링을 큐(Queue)라고도 표현한다 append 문자열 추가 StringBuffer stringBuffer = new StringBuffer(); stringBuffer.append("오늘의"); stringBuffer.append(" 점심은 "); s..
Object - java.lang 패키지 중 가장 많이 사용되는 클래스(모든 자바 클래스들의 최고 조상 클래스) - 필드를 가지지 않으며 11개의 메서드로 구성 메서드 설명 protected Object clone() 해당 객체의 복사본을 생성 boolean equals(Object obj) 두 객체가 같은지 protected void finalize() 가비지 컬렉터가 객체의 리소스를 정리하기 위해 호출 ClassgetClass() 클래스 타입 반환 int hashCode() 해시 코드 반환 void notify() 대기하고 있는 하나의 스레드를 다시 실행할 때 void notifyAll() 대기하고 있는 하나의 모든 스레드를 다시 실행할 때 String toString() 객체의 정보를 문자열로 반환..
배열은 자료형의 집합이다 String[] week = {"월", "화", "수", "목", "금", "토", "일"}; // 배열의 길이는 고정되어 있다 String[] week = new String[7]; week[0] = "월"; week[1] = "화"; week[2] = "수"; week[3] = "목"; week[4] = "금"; week[5] = "토"; week[6] = "일"; // 배열의 길이를 설정하지 않았기 때문에 오류가 발생한다 String[] week = new String[]; // 간단한 배열 출력 for (int i=0; i
- Date는 JDK 1.0부터, Calender는 JDK 1.1부터 제공되었다. - JDK 1.8부터 java.time 패키지로 Calender와 Date의 단점을 개선한 클래스들이 추가되었다. - Date, Calender의 사용을 지양하자 Date // 객체를 생성하여 현재 날짜 출력해보기 Date myDate = new Date(); System.out.println(myDate); // getTime : 1970년 1월 1일 00:00:00 UTC부터 주어진 날짜 사이의 경과 시간을 밀리초로 나타냄 System.out.println(myDate.getTime()); // 1670634141973 myDate.setTime(1639426833210L); System.out.println(myDat..
Wrapper - 기본 타입의 데이터를 객체로 취급해야 하는 경우 사용한다 - 래퍼클래스는 인스턴스에 저장된 값을 변경할 수 없다 ※ Integer / Character 클래스는 기본 타입과 이름이 다르다 기본타입 래퍼 클래스 byte Byte short Short int Integer long Long flot Float double Double char Character boolean Boolean Boxing & Unboxing - Boxing : 기본 타입의 데이터를 래퍼 클래스의 인스턴스로 변환하는 과정 - Unboxing :반대로 인스턴스에 저장된 값을 기본 타입의 데이터로 꺼내는 과정 Integer num = new Integer(1); // 박싱 int n = num.intValue(); ..
Enum - Enum을 사용하여 열거체를 정의할 수 있다 ㅡ> 상수들의 집합 - 상수의 의미를 확실하게 전달 + 프로그램의 안정성 향상 - 선언된 순서에 따라 index값을 가진다 - 상수들은 모두 대문자로 선언해야 한다 - 메서드 사용가능 public static final String MON = "Monday"; public static final String TUE = "Tuesday"; public static final String WED = "Wednesday"; // Enum을 이용하면 특정 상수값을 사용하기 위해 일일이 선언하지 않아도 된다. public enum Day { MON, TUE, WED, THU, FRI, SAT, SUN } // 생성자와 final필드를 추가할 수 있다 // ..