CodeGym /Java Blog /๋ฌด์ž‘์œ„์˜ /์ž๋ฐ” ๋ณ€์ˆ˜
John Squirrels
๋ ˆ๋ฒจ 41
San Francisco

์ž๋ฐ” ๋ณ€์ˆ˜

๋ฌด์ž‘์œ„์˜ ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค
์ด ๊ธฐ์‚ฌ์—์„œ๋Š” ๋ชจ๋“  Java ํ•™์Šต์ž์—๊ฒŒ Java ๋ณ€์ˆ˜๊ฐ€ ๋ฌด์—‡์ด๋ฉฐ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์ž๋ฐ” ๋ณ€์ˆ˜๋ž€?

Java์˜ ๋ณ€์ˆ˜๋Š” ์ƒ์ž๋กœ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด "์ƒ์ž"์—๋Š” ํŠน์ • ํฌ๊ธฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ์ž…๋‹ˆ๋‹ค. ํ• ๋‹น๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜ ์–‘์€ ๋ณ€์ˆ˜์˜ ์œ ํ˜•์— ๋”ฐ๋ผ ๋‹ค๋ฅด์ง€๋งŒ ์ด์— ๋Œ€ํ•ด์„œ๋Š” ์ž ์‹œ ํ›„์— ์ด์•ผ๊ธฐํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋™์‹œ์— ์ƒ์ž ์ž์ฒด์˜ ํฌ๊ธฐ๋Š” ๋งŒ๋“  ํ›„์— ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์ง€๋งŒ ๋‚ด์šฉ๋ฌผ์€ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒ์ž๊ฐ€ ๋น„์–ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ ๊ฐ’์„ "์‚ฝ์ž…"ํ•œ ๋‹ค์Œ ์ถ”์ถœํ•˜์—ฌ ๋‹ค๋ฅธ ๊ฐ’์„ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ณ€์ˆ˜๋Š” Java ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘์— ๋ฐ์ดํ„ฐ ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ํ•„๋“œ์ž…๋‹ˆ๋‹ค. ์ด ์ƒ์ž์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ•ญ์ƒ ํ•˜๋‚˜์˜ ๊ฐ’๋งŒ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๋˜๋Š” ๋น„์–ด ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ด ๊ฒฝ์šฐ ๊ธฐ๋ณธ๊ฐ’์ด ํฌํ•จ๋จ).
  • ๋ฐ์ดํ„ฐ ์œ ํ˜•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํฌ๊ธฐ๋Š” ๋ฐ์ดํ„ฐ ์œ ํ˜•๊ณผ ์žฅ์†Œ๊ฐ€ ํ• ๋‹น๋œ ํŠน์ • ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ(์œ„์น˜)์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.
Java์˜ ๋ณ€์ˆ˜ - 1

๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋Š” ๋ฐฉ๋ฒ•

Java์—์„œ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋ ค๋ฉด ์œ ํ˜•๊ณผ ์ด๋ฆ„์„ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ์„ธ ๊ฐ€์ง€ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋Š” ์˜ˆ์ž…๋‹ˆ๋‹ค.

int myInt;
String s;
Object variableName;
์—ฌ๊ธฐ์„œ int , String ๋ฐ Object ๋Š” ๋ฐ์ดํ„ฐ ์œ ํ˜•์ด๊ณ  myInt , s , variableName ์€ ๋ณ€์ˆ˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์œ ํ˜•์€ ํ”„๋กœ๊ทธ๋žจ์˜ ํ•„์š”์— ๋”ฐ๋ผ ์„ ํƒํ•ด์•ผ ํ•˜๋ฉฐ ์ด๋ฆ„์„ ์„ ํƒํ•˜์—ฌ ๋‚ด์šฉ์ด ๋ช…ํ™•ํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์ดˆ๋ณด์ž์—๊ฒŒ๋Š” ๊ทธ๋ ‡๊ฒŒ ์—„๊ฒฉํ•˜์ง€๋Š” ์•Š์ง€๋งŒ ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” 's'์™€ ๊ฐ™์€ ๋ณ€์ˆ˜ ์ด๋ฆ„์ด ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ์„ ์†์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋ณ€์ˆ˜์˜ ์šฉ๋„๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ์ง€์ •ํ•˜๋Š” ๋ฐ ์ต์ˆ™ํ•ด์ง€๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์ด์œ ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณ€์ˆ˜๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•

๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋ฉด ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค. ์ดˆ๊ธฐํ™”๋Š” "์ƒ์ž"์— ํŠน์ • ๊ฐ’์„ "๋„ฃ๋Š”" ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด ์ž‘์—…์€ ๋ณ€์ˆ˜ ์„ ์–ธ ์ค‘ ๋˜๋Š” ๋‚˜์ค‘์— ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ณ€์ˆ˜์˜ ๊ฐ’์€ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘์— ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ:

public class VariableTest {
    public static void main(String[] args) {
        int myInt = 5;
        String s;
        s = "init";
        System.out.println(s);
        s = s+5;
        System.out.println(s);
    }
}
์—ฌ๊ธฐ์—์„œ myInt ๋ณ€์ˆ˜๋ฅผ ํ•œ ์ค„๋กœ ์„ ์–ธ ๋ฐ ์ดˆ๊ธฐํ™”ํ•˜๊ณ  ์ฆ‰์‹œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•˜๊ณ (๋ชจ๋“  int ์ˆซ์ž์— ๋Œ€ํ•ด 32๋น„ํŠธ) ์ด๋ฆ„์„ ์ง€์ •ํ•œ ๋‹ค์Œ ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ์— ๊ฐ’ 5๋ฅผ ๋ฐฐ์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์šฐ๋ฆฌ๋Š” ๋ฌธ์ž์—ด s ์— ๋Œ€ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ํ• ๋‹นํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ์„ ์–ธํ–ˆ์œผ๋ฉฐ ์ด๋ฏธ ๋ณ„๋„์˜ ๋ช…๋ น์œผ๋กœ "init" ๊ฐ’์„ ์ž…๋ ฅํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ฌธ์ž์—ด์„ ์ถœ๋ ฅํ•˜๊ณ  ๋ณ€์ˆ˜ s ์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค . ์ด ํ”„๋กœ๊ทธ๋žจ์—์„œ๋Š” ํ–‰์„ ์ถœ๋ ฅํ–ˆ์œผ๋ฉฐ ์‹คํ–‰ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ดˆ๊ธฐํ™” ์ดˆ๊ธฐํ™”5

Java์˜ ๋ณ€์ˆ˜ ๋ฐ์ดํ„ฐ ์œ ํ˜•: ์›์‹œ ๋ฐ ๋น„์›์‹œ

Java์—์„œ ๋ณ€์ˆ˜์˜ ๋ฐ์ดํ„ฐ ์œ ํ˜•์€ ๋‘ ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค.
  • ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ์œ ํ˜•์—๋Š” byte , short , int , long , float , double , boolean ๋ฐ char ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
  • String , Arrays ๋ฐ Classes ์™€ ๊ฐ™์€ ๊ธฐ๋ณธ์ด ์•„๋‹Œ ๋ฐ์ดํ„ฐ ์œ ํ˜•
๋‹ค์Œ์€ ๋ณ€์ˆ˜ ์ž‘์—…์˜ ์˜ˆ์ž…๋‹ˆ๋‹ค.

public class VariableTest {
   public static void main(String[] args) {

       int myInt = - 5;               // integer (whole number)
       float myFloat = 2.718281828459045f;    // Floating point number
       char myLetter = 'a';         // character
       boolean myBool = true;       // boolean
       String myText = "Hero";     // String
       System.out.println(myInt + " " +
               myFloat +" " + myLetter + " " +  myBool + " " + myText);
       Student myStudent = new Student("Walker","Johnny", "Kyle", null);
      
   }
}
int , char , boolean ๋ฐ float ์€ ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ์ž…๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด ์€ ๊ธฐ๋ณธ์ด ์•„๋‹™๋‹ˆ๋‹ค. myStudent ๋ณ€์ˆ˜๋Š” ์–ด๋–ป์Šต๋‹ˆ๊นŒ ? ์ด๊ฒƒ์€ ์‚ฌ์šฉ์ž๊ฐ€ ๋งŒ๋“  Student ํด๋ž˜์Šค์˜ ๊ฐœ์ฒด์ž…๋‹ˆ๋‹ค . ๊ธฐ๋ณธ์ด ์•„๋‹Œ ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ์ž‘์—…์„ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ„๋‹จํžˆ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๊ฑฐ์˜ ๋ชจ๋“  ๊ฒƒ์ด ๊ฐ์ฒด์ด๊ธฐ ๋•Œ๋ฌธ์— Java์—์„œ ๋Œ€๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ์ดํ•ด๋ฅผ ๋•๊ธฐ ์œ„ํ•ด Student ํด๋ž˜์Šค ์˜ ์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค .

import java.util.Date;

public class Student {
   String surname;
   String name;
   String secondName;
   Long birthday; // Long instead of long is used by Gson/Jackson json parsers and various orm databases

   public Student(String surname, String name, String secondName, Date birthday ){
       this.surname = surname;
       this.name = name;
       this.secondName = secondName;
       this.birthday = birthday == null ? 0 : birthday.getTime();
   }

   @Override
   public int hashCode(){
       //TODO: check for nulls
       //return surname.hashCode() ^ name.hashCode() ^ secondName.hashCode() ^ (birthday.hashCode());
       return (surname + name + secondName + birthday).hashCode();
   }
   @Override
   public boolean equals(Object other_) {
       Student other = (Student)other_;
       return (surname == null || surname.equals(other.surname) )
               && (name == null || name.equals(other.name))
               && (secondName == null || secondName.equals(other.secondName))
               && (birthday == null || birthday.equals(other.birthday));
   }
}

Java์˜ ๋ณ€์ˆ˜ ์œ ํ˜•: ๋กœ์ปฌ, ์ธ์Šคํ„ด์Šค ๋ฐ ์ •์ 

Java์—๋Š” ์„ธ ๊ฐ€์ง€ ์œ ํ˜•์˜ ๋ณ€์ˆ˜๊ฐ€ ์žˆ์œผ๋ฉฐ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‚˜์—ดํ–ˆ์Šต๋‹ˆ๋‹ค.
  1. ์ง€์—ญ ๋ณ€์ˆ˜
  2. ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜
  3. ์ •์  ๋ณ€์ˆ˜

์ง€์—ญ ๋ณ€์ˆ˜

๋ฉ”์„œ๋“œ ๋ณธ๋ฌธ ๋‚ด์—์„œ ์„ ์–ธ๋œ ๋ณ€์ˆ˜๋ฅผ ์ง€์—ญ ๋ณ€์ˆ˜๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ง€์—ญ ๋ณ€์ˆ˜๋Š” ์ƒ์„ฑ์ž์™€ ๋ธ”๋ก ๋‚ด๋ถ€์—์„œ ์„ ์–ธ๋ฉ๋‹ˆ๋‹ค. ๋กœ์ปฌ ๋ณ€์ˆ˜๋Š” ์ƒ์„ฑ๋œ ๋ฉ”์„œ๋“œ, ์ƒ์„ฑ์ž ๋˜๋Š” ๋ธ”๋ก ๋‚ด์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ํด๋ž˜์Šค์˜ ๋‹ค๋ฅธ ๋ฉ”์„œ๋“œ๋Š” ๋ณ€์ˆ˜๊ฐ€ ์กด์žฌํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์กฐ์ฐจ ์ธ์‹ํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ง€์—ญ ๋ณ€์ˆ˜๋Š” ๋ฉ”์†Œ๋“œ, ์ƒ์„ฑ์ž ๋˜๋Š” ๋ธ”๋ก์ด ์ž…๋ ฅ๋˜๋ฉด ์ƒ์„ฑ๋˜๊ณ  ๋ณ€์ˆ˜๋Š” ๋ฉ”์†Œ๋“œ, ์ƒ์„ฑ์ž ๋˜๋Š” ๋ธ”๋ก์ด ์ž‘๋™ํ•˜์ง€ ์•Š์œผ๋ฉด ์†Œ๋ฉธ๋ฉ๋‹ˆ๋‹ค. ์ง€์—ญ ๋ณ€์ˆ˜๋Š” static ํ‚ค์›Œ๋“œ๋กœ ์ •์˜ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋” ๋‚˜์•„๊ฐ€ ์ง€์—ญ ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ํ•œ์ •์ž๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ์˜ˆ์ž…๋‹ˆ๋‹ค.

public class VariableTest {
   public static void main(String[] args) {
       System.out.println(myMethod("C plus "));
   }
           private static String myMethod(String myString) {
       String myOtherString = "plus";
       return myString + myOtherString;
   }
}
์—ฌ๊ธฐ์„œ myOtherString์€ ์ง€์—ญ ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์—์„œ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์ง€๋งŒ myMethod . ์ง€์—ญ ๋ณ€์ˆ˜๋Š” ๊ธฐ๋ณธ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์—์„œ ํ•˜๋‚˜ ์ด์ƒ์˜ ์ง€์—ญ ๋ณ€์ˆ˜๊ฐ€ ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š์œผ๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด์ „ ์˜ˆ์ œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์•ฝ๊ฐ„ ๋ณ€๊ฒฝํ•˜๊ณ  myBool ๋ณ€์ˆ˜๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๊ฒƒ์„ "์žŠ์–ด ๋ด…์‹œ๋‹ค":

public class VariableTest {
   public static void main(String[] args) {

       int myInt = - 5;               // integer (whole number)
       float myFloat = 2.718281828459045f;    // Floating point 
       char myLetter = 'a';         // character
       boolean myBool;       // boolean
       String myText = "Hero";     // String
       System.out.println(myInt + " " +
               myFloat +" " + myLetter + " " +  myBool + " " + myText);
       Student myStudent = new Student("Walker","Johnny", "Kyle", null);

   }
}
ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋ ค๊ณ  ํ•˜๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
์˜ค๋ฅ˜:(10, 50) java: myBool ๋ณ€์ˆ˜๊ฐ€ ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š์•˜์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜

ํด๋ž˜์Šค ๋‚ด๋ถ€์— ์žˆ์ง€๋งŒ ๋ฉ”์„œ๋“œ, ์ƒ์„ฑ์ž ๋˜๋Š” ๋ธ”๋ก์˜ ๋ณธ๋ฌธ ์™ธ๋ถ€์— ์„ ์–ธ๋œ ๋ณ€์ˆ˜๋ฅผ ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜๋Š” new ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค . ๊ฐ์ฒด๊ฐ€ ํŒŒ๊ดด๋˜๋ฉด ํŒŒ๊ดด๋ฉ๋‹ˆ๋‹ค. ์ •์ ์œผ๋กœ ์„ ์–ธํ•  ์ˆ˜๋Š” ์—†์ง€๋งŒ ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜์— ์•ก์„ธ์Šค ํ•œ์ •์ž๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜๋Š” ํด๋ž˜์Šค์˜ ๋ชจ๋“  ๋ฉ”์„œ๋“œ, ์ƒ์„ฑ์ž ๋ฐ ๋ธ”๋ก์— ๋Œ€ํ•ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜๋Š” ๋น„๊ณต๊ฐœ์ด์ง€๋งŒ ํ•˜์œ„ ํด๋ž˜์Šค์˜ ๊ฐ€์‹œ์„ฑ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋กœ์ปฌ ๋ณ€์ˆ˜์™€ ๋‹ฌ๋ฆฌ ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜์—๋Š” ๊ธฐ๋ณธ๊ฐ’์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์ˆซ์ž ๊ธฐ๋ณธ ์œ ํ˜•์˜ ๊ฒฝ์šฐ ๊ธฐ๋ณธ๊ฐ’์€ 0์ด๊ณ  ๋ถ€์šธ์˜ ๊ฒฝ์šฐ false์ด๋ฉฐ ๊ฐ์ฒด ์ฐธ์กฐ์˜ ๊ฒฝ์šฐ null์ž…๋‹ˆ๋‹ค. ์„ ์–ธ ์ค‘์— ๋˜๋Š” ์ƒ์„ฑ์ž ๋‚ด์—์„œ ๊ฐ’์„ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ์˜ˆ์ž…๋‹ˆ๋‹ค.

//instance variable example
public class Employee {

   // here we have a public instance variable. It is visible for this class and child classes
   public String name;

   //this instance variable is private so itโ€™s visible for the Employee class only. You can use setters and getters to get it
   private double salary;

   public Employee (String empName) {
       name = empName;
   }

   public String getName() {
       return name;
   }

   public void setName(String name) {
       this.name = name;
   }

   public double getSalary() {
       return salary;
   }

   public void setSalary(double employeeSalary) {
       salary = employeeSalary;
   }

   public static void main(String args[]) {
       Employee employee = new Employee("Johnny");
       employee.setSalary(1500);
       System.out.println("name = " + employee.getName());
       System.out.println("salary = " + employee.getSalary());
   }
}

์ •์  ๋ณ€์ˆ˜

static์œผ๋กœ ์„ ์–ธ๋œ ๋ณ€์ˆ˜๋ฅผ ์ •์  ๋ณ€์ˆ˜๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. Java๋Š” ๋ฉ”์„œ๋“œ, ์ƒ์„ฑ์ž ๋˜๋Š” ๋ธ”๋ก ์™ธ๋ถ€์—์„œ ์ด๋Ÿฌํ•œ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋กœ์ปฌ์ผ ์ˆ˜ ์—†์œผ๋ฉฐ ์ธ์Šคํ„ด์Šค๊ฐ€ ์•„๋‹Œ ํด๋ž˜์Šค์— ์†ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ํด๋ž˜์Šค์˜ ๋ชจ๋“  ์ธ์Šคํ„ด์Šค ๊ฐ„์— ์ƒ์„ฑ๋˜๊ณ  ๊ณต์œ ๋œ ์ •์  ๋ณ€์ˆ˜์˜ ๋‹จ์ผ ๋ณต์‚ฌ๋ณธ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ •์  ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์€ ํด๋ž˜์Šค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œ๋  ๋•Œ ํ•œ ๋ฒˆ๋งŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฐ€์‹œ์„ฑ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์ง€๋งŒ ์ผ๋ฐ˜์ ์œผ๋กœ ๊ณต๊ฐœ๋กœ ์„ ์–ธ๋ฉ๋‹ˆ๋‹ค. ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜์™€ ๊ฐ™์€ ๊ธฐ๋ณธ๊ฐ’๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

public class Box
{
   public void add(int data)
   {
       Storage.sum = Storage.sum + data;
       Storage.count++;
   }

   public void remove(int data)
   {
       Storage.sum = Storage.sum - data;
       Storage.count--;
   }
}

public class Storage
{
   public static int count = 0;
   public static int sum = 0;
}
์œ„์˜ ์˜ˆ์—์„œ๋Š” ๋ณ„๋„์˜ Storage ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค๊ณ  count ๋ฐ sum ๋ณ€์ˆ˜๋ฅผ ์ด ํด๋ž˜์Šค๋กœ ์ด๋™ํ•˜๊ณ  ์ •์ ์œผ๋กœ ์„ ์–ธํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ณต์šฉ ์ •์  ๋ณ€์ˆ˜๋Š” ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ ๋ฉ”์„œ๋“œ์—์„œ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๋ฉ”์„œ๋“œ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ). ๋ฐฐ์šด ๋‚ด์šฉ์„ ๋ณด๊ฐ•ํ•˜๋ ค๋ฉด Java ๊ณผ์ •์—์„œ ๋น„๋””์˜ค ๊ฐ•์˜๋ฅผ ์‹œ์ฒญํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION