Tiny Bunny
๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’ป/JAVA

[JAVA] ํด๋ž˜์Šค(Class), ๊ฐ์ฒด, ์ธ์Šคํ„ด์Šค

by soonybutter 2024. 7. 18.
728x90

 

  ์ž๋ฐ”(JAVA)๋Š” ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด๋กœ์„œ, ํด๋ž˜์Šค์™€ ๊ฐ์ฒด๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค.

  ๊ทธ๋Ÿฌ๋ฏ€๋กœ ํด๋ž˜์Šค์™€ ๊ฐ์ฒด, ์ธ์Šคํ„ด์Šค๋Š” ์ž๋ฐ”์—์„œ ๋งค์šฐ๋งค์šฐ ์ค‘์š”ํ•œ ๊ฐœ๋…์ด๋‹ค.! 

 

 

  ๋จผ์ € ํด๋ž˜์Šค์— ๋Œ€ํ•ด ์ •๋ฆฌํ•˜๋ฉด ์ด๋ ‡๋‹ค.

 

ํด๋ž˜์Šค (Class)

 

  ํด๋ž˜์Šค๋Š”

  • ์—ฌ๋Ÿฌ ๋ณ€์ˆ˜๋“ค์„ ํ•˜๋‚˜์˜ ํด๋ž˜์Šค๋กœ ๋ฌถ์–ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ํŠน์ง•์„ ๊ฐ€์ง„๋‹ค. 
  • ๋ฉ”์ธํ•จ์ˆ˜๊ฐ€ ์“ฐ์ด๋Š” ํด๋ž˜์Šค ์™ธ์— ํด๋ž˜์Šค ํŒŒ์ผ์„ ์ƒˆ๋กœ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•œ๋‹ค.

  ์•„๋ž˜๋Š” MovieReview๋ผ๋Š” ์ด๋ฆ„์˜ ํด๋ž˜์Šค ์„ ์–ธ ์˜ˆ์‹œ๋‹ค.

package class1;

public class MovieReview
{
    String title;
    String review;

}

  MovieReview ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•˜์—ฌ, ๋‚ด๋ถ€์— ์ œ๋ชฉ(title)๊ณผ ๋ฆฌ๋ทฐ๋ฅผ String์œผ๋กœ ์ •์˜ํ•œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

  ์ด๋ ‡๊ฒŒ ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ–ˆ๋‹ค๋ฉด, ๋ฉ”์ธํ•จ์ˆ˜์—์„œ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ• ๊นŒ?

  ์•„๋ž˜์˜ ์˜ˆ์‹œ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ์‚ดํŽด๋ณด์ž.

 

  • ์„ ์–ธํ•œ ํด๋ž˜์Šค๋Š” '์‚ฌ์šฉ์ž ์ •์˜ํƒ€์ž…' ์œผ๋กœ์„œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์— ๋”ฐ๋ผ int ํ˜•, String ํ˜•์„ ์„ ์–ธํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด ํƒ€์ž…์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.

  ex) MovieReview[] reviews = new MovieReview[2];

 

 

  • MovieReview๋ผ๋Š” ํƒ€์ž…์˜ ๋ฐฐ์—ด์„ ๋งŒ๋“ค์—ˆ์œผ๋ฉฐ, ๊ฐ๊ฐ MoviewReviewํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ movie1, movie2๋ฅผ ์„ ์–ธํ•  ์ˆ˜ ์žˆ๋‹ค.

  ex) MovieReview movie1= new MovieReview();

 

 

  • ๊ฐ๊ฐ์˜ ๋ฐ์ดํ„ฐ์—๋Š” ์ (.)์„ ์ฐ๊ณ  ํด๋ž˜์Šค ์•ˆ์—์„œ ์„ ์–ธํ•ด์คฌ๋˜ ๋ณ€์ˆ˜๋“ค์„ ๊ฐ๊ฐ ์„ ์–ธํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค.

  ex) movie1.title , movie2.title ๋“ฑ

 

์•„๋ž˜ ์ฝ”๋“œ์—์„œ๋Š” MovieReview ํƒ€์ž…์œผ๋กœ ์„ ์–ธํ–ˆ๋˜ reviews[2]๋ผ๋Š” ๋ฐฐ์—ด์—

๊ฐ๊ฐ reviews[0]= movie1์„ , reviews[1]=movie2๋ฅผ ๋Œ€์ž…ํ•œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. 

์ด๊ฑด ๋งˆ์ง€๋ง‰์— for๋ฌธ์œผ๋กœ ์‰ฝ๊ฒŒ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•ด ๋Œ€์ž…ํ•ด์ค€ ๊ฒƒ! 

package class1;

public class Example2
{
    public static void main(String[] args)
    {
        MovieReview[] reviews= new MovieReview[2];

        MovieReview movie1=new MovieReview();
        movie1.title="์ธ์…‰์…˜";
        movie1.review="์ธ์ƒ์€ ๋ฌดํ•œ ๋ฃจํ”„";
        reviews[0]=movie1;

        MovieReview movie2 = new MovieReview();
        movie2.title="์–ด๋ฐ”์›ƒ ํƒ€์ž„";
        movie2.review="์ธ์ƒ ์‹œ๊ฐ„ ์˜ํ™”!";
        reviews[1]=movie2;

        for(int i=0; i<2; i++)
        {
            MovieReview s= reviews[i];
            System.out.println("์˜ํ™”์ œ๋ชฉ:"+s.title+" ๋ฆฌ๋ทฐ:"+s.review);
        }

    }
}

 

 

ํด๋ž˜์Šค๋Š” ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์œผ๋กœ ๋ฉ”์ธํ•จ์ˆ˜ ์•ˆ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฐ˜๋ณต๋˜๋Š” ํ•˜๋‚˜์˜ ํฐ ํ‹€ ์•ˆ์— ์„ธ์„ธํ•œ ๋ณ€์ˆ˜๋“ค์„ ๋ชจ๋‘ ๋‹ด์•„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.! 

 

ํด๋ž˜์Šค๋Š” '์„ค๊ณ„๋„'์™€ ๊ฐ™๋‹ค.

 

 

 

 

 

 

 

๊ฐ์ฒด์™€ ์ธ์Šคํ„ด์Šค

 

๊ฐ์ฒด์™€ ์ธ์Šคํ„ด์Šค(Instance)๋ž€ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•ด์„œ '์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ์— ๋งŒ๋“ค์–ด์ง„ ์‹ค์ฒด'๋ฅผ ๋งํ•œ๋‹ค.

 

์˜ˆ๋ฅผ ๋“ค์–ด์„œ

Student student1;
student1 = new Student ();

์œ„์˜ ์ฝ”๋“œ์—์„œ

new Student() ๋Š” Studentํด๋ž˜์Šค ๊ธฐ๋ฐ˜์œผ๋กœ, ์ƒˆ๋กœ์šด '๊ฐ์ฒด'๋ฅผ ์ƒ์„ฑํ•˜๋ผ๋Š” ์˜๋ฏธ๋‹ค.

     ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ์— Student ๊ฐ์ฒด(์ธ์Šคํ„ด์Šค)๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

  • ๊ฐ์ฒด ์ƒ์„ฑ: new ํด๋ž˜์Šค๋ช…()

 

๊ฐ์ฒด์™€ ์ธ์Šคํ„ด์Šค์˜ ์ฐจ์ด์ ! 

 

student1์€ Student ํด๋ž˜์Šค์˜ '์ธ์Šคํ„ด์Šค'์ด๋‹ค.

์ธ์Šคํ„ด์Šค์™€ ๊ฐ์ฒด๋Š” ๊ฐ™์€ ์˜๋ฏธ๋กœ ์“ฐ์ด์ง€๋งŒ,

'์ธ์Šคํ„ด์Šค'๋Š” ๊ฐ์ฒด๋ณด๋‹ค 'ํด๋ž˜์Šค์™€์˜ ๊ด€๊ณ„'์— ์ดˆ์ ์„ ๋‘”๋‹ค.

ํŠน์ • ํด๋ž˜์Šค์™€์˜ ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ผ ๋•Œ ์–ด๋– ํ•œ ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ผ๊ณ  ๋งํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ฆ‰ ๋ชจ๋“  ์ธ์Šคํ„ด์Šค๋Š” '๊ฐ์ฒด'์ง€๋งŒ,  ์ธ์Šคํ„ด์Šค๋ผ๋Š” ๊ฒƒ์€ ํŠน์ • ํด๋ž˜์Šค์—์„œ๋ถ€ํ„ฐ ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ์Œ์„ ๊ฐ•์กฐํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

 

 

 

 

 

 

 

์ž๋ฐ”์—์„œ '๋Œ€์ž…'์€ ํ•ญ์ƒ ๋ณ€์ˆ˜์—์„œ์˜ ๊ฐ’์„ '๋ณต์‚ฌ'ํ•ด์„œ ์ „๋‹ฌํ•œ๋‹ค!

 

๋งŒ์•ฝ ์•„๋ž˜์™€ ๊ฐ™์€ ํด๋ž˜์Šค์™€ ์ฝ”๋“œ๊ฐ€ ์žˆ์„๋•Œ,

์‹ค์ œ๋กœ ์ธ์Šคํ„ด์Šค๊ฐ€ ์–ด๋–ป๊ฒŒ ์ƒ์„ฑ๋˜๋Š”์ง€, '์ฐธ์กฐ๊ฐ’(์ฃผ์†Œ๊ฐ’)'์„ ๋ณ€์ˆ˜์— ์–ด๋–ป๊ฒŒ ์ €์žฅํ•˜๊ณ  ์žˆ๋Š”์ง€์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด๋ณด๋ฉด ์ด๋ ‡๋‹ค.

 

package class1;

public class Student
{
    String name;
    int age;
    int grade;

}

์œ„์™€ ๊ฐ™์ด Student๋ผ๋Š” ํด๋ž˜์Šค๋ฅผ ์„ ์–ธํ•˜๊ณ ,

๋ฉ”์ธํ•จ์ˆ˜์—์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ๊ฐ๊ฐ์˜ ํด๋ž˜์Šค ๋ณ€์ˆ˜์— ๊ฐ’์„ ๋Œ€์ž…ํ•˜๋Š” ๊ฒฝ์šฐ,

package class1;

public class ClassStart3
{
    public static void main(String[] args)
    {
        Student student1 =new Student();
        student1.name ="ํ•™์ƒ1";
        student1.age=15;
        student1.grade=90;

        Student student2= new Student();
        student2.name="ํ•™์ƒ2";
        student2.age=16;
        student2.grade=80;

        Student[] students = new Student[2];
        students[0]=student1;
        students[1]=student2;

        for(int i=0; i<students.length; i++)
        {
            System.out.println("์ด๋ฆ„:"+students[i].name+" ๋‚˜์ด:"+students[i].age+ " ์„ฑ์ :"+students[i].grade);

        }
    }
}

 

students[2] ๋ฐฐ์—ด ์•ˆ์— ์ €์žฅ๋œ student1, student2์—๋Š” ์ฐธ์กฐ๊ฐ’์ด ๋ณด๊ด€๋˜์–ด ์žˆ๋‹ค.

์ด ์ฐธ์กฐ๊ฐ’์€ ๋ฐฐ์—ด์— ์ €์žฅ๋œ๋‹ค. (=student1, student2์— ๋ณด๊ด€๋œ ์ฐธ์กฐ๊ฐ’์„ ์ฝ๊ณ  '๋ณต์‚ฌ'ํ•ด์„œ ๋ฐฐ์—ด์— ๋Œ€์ž…ํ•œ๋‹ค!)

๊ทธ๋ฆผ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ณด๋ฉด ์ด๋ ‡๋‹ค.

์ด๋Ÿฐ์‹์œผ๋กœ ์ฐธ์กฐ๊ฐ’์€ ๋ณต์‚ฌ๋˜์–ด ์ „๋‹ฌ๋œ๋‹ค.

๋ณ€์ˆ˜์—๋Š” ์ธ์Šคํ„ด์Šค ์ž์ฒด๊ฐ€ ๋“ค์–ด์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค!

 ์ธ์Šคํ„ด์Šค์˜ ์œ„์น˜๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ฐธ์กฐ๊ฐ’์ด ๋“ค์–ด์žˆ์„ ๋ฟ์ด๋‹ค! 

๋”ฐ๋ผ์„œ ๋Œ€์ž…( `=` )์‹œ์— ์ธ์Šคํ„ด์Šค๊ฐ€ ๋ณต์‚ฌ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ฐธ์กฐ๊ฐ’๋งŒ ๋ณต์‚ฌ๋œ๋‹ค.

 

 

 

 

 

 

 

 

 

 

 

ํ‹€๋ฆฐ ๋ถ€๋ถ„์ด๋‚˜ ์ด์ƒํ•œ ๋ถ€๋ถ„์ด ์žˆ์œผ๋ฉด ๋Œ“๊ธ€๋กœ ์ง€์ ํ•ด์ฃผ์„ธ์š”! 

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค :)

728x90

TOP

Designed by ํ‹ฐ์Šคํ† ๋ฆฌ