static 변수와 static 메소드는 static 메모리 영역에 존재합니다. (자바의 메모리 영역은 다음 글에서 다룹니다.) 객체가 생성되기 전에 이미 할당이 되어있기 때문에 객체 생성없이 바로 접근할 수 있습니다. static 변수 클래스 변수 : 클래스가 정의만 되어도 접근이 가능한 변수 application이 실행되면 모두 메모리에 할당되고, 종료되면 삭제되는 변수 메모리 할당을 딱 한 번만 하게 되어 메모리 사용에 이점을 볼 수 있습니다. 또한, 해당 클래스에 의해 생성된 모든 객체에 의해 공유될 수 있습니다. 인스턴스 변수의 경우 ( non-static ) public class Test { int num = 0; public Test() { num++; System.out.println(n..
배열 ( Array ) (같은 타입의) 여러 값을 효과적으로 관리하는 객체 참조타입(mutable) : 주소값으로 변경됩니다. new를 사용하지 않아도 객체 생성이 가능합니다. index를 통해 값에 접근할 수 있습니다. 배열 선언하기 & 출력하기 1차원 배열 배열 선언하기 // 방법1 int[] a; // 선언 a = new int[5]; // 정의 // 초기화 a[0] = 1; a[1] = 2; a[2] = 3; a[3] = 4; a[4] = 5; // 방법2 // 선언정의초기화 int[] b = new int[] { 6, 7, 8, 9, 10 }; // 방법3 // 선언 초기화 int c[] = { 11, 12, 13, 14, 15, 16, 17 }; 배열 출력하기 // 1차원 배열을 출력하는 메소..
method : 기능 (명령문들의 집합) 클래스 안에 있어야 합니다. Java에서는 메소드 안에 메소드 생성할 수 없습니다. 접근제한자 메모리영역 리턴타입 메소드이름 (파라미터) { 명령문; } 접근제한자 : 접근을 제한해주는 것 public (+) : 어디서나 접근, 참조 가능 protected (#) 상속일 경우 : 상속된 곳에서만 상속이 아닐 경우 : 같은 패키지 내에서만 default (~) : 같은 패키지 내에서만 private (-) : 같은 클래스 내에서만 메모리영역 static인 경우 : application이 실행되면 모두 메모리에 할당되고, 종료되면 삭제됩니다. 객체를 생성하지 않습니다. class.method() 형태로 호출합니다. non-static인 경우 : 클래스의 인스턴스를 생..
형 변환 ( Type Casting ) : 데이터의 자료형을 다른 자료형으로 바꾸는 것 묵시적 형변환 ( UpCasting / Promotion ) 작은 타입 -> 큰 타입 프로그램 실행 도중 자동으로 일어납니다. 명시적 형변환 ( DownCasting / Casting ) 큰 타입 -> 작은 타입 public class TypeToType01 { public static void main(String[] args) { // 묵시적 형변환 (upCasting or promotion) : 작은 타입 -> 큰 타입 byte b01 = 100; int i01 = b01; System.out.println(i01); // 명시적 형변환 (downCasting or casting) : 큰 타입 -> 작은 타입 i..
변수 : 변하는 수 메모리에 하나의 값(data)을 저장할 수 있는 방과 같은 기억 공간(메모리 공간) 값은 고정되어 있지 않습니다. 다른 값이 기록되면 자동 덮어쓰기되어 변할 수 있습니다. 변수 공간에 기록되는 값의 종류 기본 타입 : Type 변수 = 값; call by value : 값 자체를 담아서 사용하는 애들 이 때의 값을 literal이라고 합니다. 프린트해보면 값이 나옵니다. 정수형 : byte(1바이트) , short(2) , int(4) , long(8) 실수형 : float(4) , double(8) 문자형 : char(2) 논리형 : boolean(1) + 문자열 : String -> 참조타입이지만 기본타입처럼 사용 가능한 아이! 참조 타입 : 클래스 변수 = new 클래스(); c..
java.lang.Math의 random() 사용하기 : Math.random() min부터 ~ max까지 출력하고 싶다! Math.random() * (max - min + 1) + min 시작값부터 x개를 출력하고 싶다! Math.random() * x + 시작값 java.util.Random 사용하기 : Random r = new Random(); 0부터 ~ num-1까지 출력하고 싶다! nextInt() 에 값을 넣어줍니다. 시작값부터 x개를 출력하고 싶다! r.nextInt(x) + 시작값 package com.test02; import java.util.Random; public class MTest { public static void main(String[] args) { random01(..