[JAVA] 17. 변수 (3)클래스변수

서회정's avatar
Feb 03, 2025
[JAVA] 17. 변수 (3)클래스변수

1. String

notion image

String 예시코드

package ex01; public class Var04 { public static void main(String[] args) { String s1 = "안녕"; //첫 글자가 대문자인 이유 기본 데이터 타입이 아니라는 뜻, 클래스임. s1 = "굿나잇"; System.out.println(s1); String s2 = "굿나잇"; s1 = "헬로우"; System.out.println(s1); } }
 

결과값

notion image
 

이해하기

notion image
 

2. 상태가 다른 값 저장/출력하기

 

1) 예제 1

package ex01; class hello { static String name = "hello"; } class Person { static String name = "홍길동"; static int age = 20; } //프로그램을 실행하기 전 static 메모리를 전부 실행함 //그래서 static을 붙이면 메모리 할당 가능 //지금은 왜 이렇게 하냐? class로 저장된 값이 아래에 있는 static 영역 바깥에 있어서 //메모리 할당이 되지 않음. 그럼 출력도 안됨 못찾으니까. 그래서 이렇게 할당해주는것임. //변수 명을 달리하여 공간을 따로 둘 수 있음 // 문자열(이름)과 숫자(나이)를 함께 저장 public class Var05 { public static void main(String[] args) { System.out.println(Person.name); System.out.println(Person.age); } }

이해하기

  • 프로그램을 실행하기 전 static 메모리를 전부 실행한다. 따라서 타입입력란 앞에 static을 입력하면 메모리를 사용할 수 있는 상태가 되어 출력이 가능하다.
  • 현재 person이라는 class는 static 바깥에 위치하고 있기에 이러한 작업이 필요하다.
  • hello라는 변수와 Person이라는 class는 각각 같은 name이라는 문자열 변수를 가지고 있다. 그럼에도 class 명이 다르기 때문에 다른 공간에 따로 저장되어있는 상태이다.
 

2) 예제 2

package ex01; //문제 1. //Dog(강아지) 상태 저장 후 출력하기, 간식은 index번호 1번까지 출력. //상태 - 이름, 색깔, 좋아하는 간식들(개껌, 개뻐다구 등) class Dog { static String name = "토토"; static String color = "white"; static String[] snack = {"고구마", "소시지", "개껌", "육포"}; } public class Var05 { public static void main(String[] args) { System.out.println(Dog.name); System.out.println(Dog.color); System.out.println(Dog.snack[0]); System.out.println(Dog.snack[1]); } }

결과값

notion image

체크하기

  • 문자열에 “”(쌍따옴표)를 알맞게 입력했는가
  • 각 변수를 static에 저장했는가
  • 배열 문법을 올바르게 이해하고 작성했는가
Share article

clubnerdy