static 활용

Yullc·2025년 3월 11일
post-thumbnail

우리가 앞에서 static에 대해 좀 알아봤는데 그래서 이걸 어떻게 활용하는데요?????? 라고 생각할 수 있을거 같아서 내가 가져왔어

class Main {
     public static void main(String[] args) {
         String msg = greet("Jin"); // 문자만 들어갈 수 있는 msg 변수에 greet이라는 메서드의 인자를 Jin으로 주겠다
         System.out.println(msg); // msg 출력
 
         Point point = createPoint(5, 10);  //Point객체와 연결된 point변수 createPoint 매개변수를 x=5,y=10이라고 준다.
         System.out.println("Point create at (" + point.x + ", " + point.y + ")");
 
         int[] evens = firstNEvenNumbers(5);//int[]모양의 객체와 연결된 evens변수 firstNEvenNumbers 메서드를 호출해 5라는 값을 넣어준다.
         System.out.println("first 5 even numbers : " + Arrays.toString(evens)); // String 형식으로 evens를 출력
     }
 
     public static String greet(String name) { // String 형태의 greet 메서드 매개변수값은 name 즉 Jin을 가져옴
         return "Hello, " + name + "!"; //Hello와 !를 반환
     }
 
     public static Point createPoint(int x, int y) { //매개변수 값을 int로 가진 createPoint 메서드 x,y에는 main메서드에서 가져온 5,10이 들어감
         return new Point(x, y); //객체Point에 x,y값을 담아서 반환
     }
 
     public static int[] firstNEvenNumbers(int n) { //int타입의 배열 firstNEvenNumbers메서드, Main클래스에서 인자로 받아온 5
         int[] evenNumbers = new int[n]; // 5개의 공간을 가지고 있는 evevNumbers 객체
 
         for (int i = 0, num = 2; i < n; i++, num += 2) { //i는 1 num=2 로 값을 넣고 i는 n 즉 5미만일때가지 반복 i는 1씩 증가 num은 2씩 증가
             evenNumbers[i] = num; //evenNumbers 객체에 num을 담는다 i=0일때 num=2 이렇게 i와 num의 차이는 2
         }
         return evenNumbers; //evenNumbers 반환
  • 여기서 주의 해야할 점은! 먼저 인자 값을 잘 봐야해
  • 만약 msg가 String으로 명시 되어 있는데 static int greet 이런거 안되고 인자값이 두개인데 하나밖에 안쓰고 그러면 안돼!!

이제 객체를 활용해서 클래스를 다뤄봤으니까 좀 더 데이터들을 어떻게 다루는지 알겠지? 아니요... 하나도 모르겠습니다..
사실 이제 클래스와 static까지 배웠으니 뭔가 본격적으로 객체지향이라는 언어를 배우는 느낌이고, 객체지향언어를 사용하면 좀 더 효율적인 코드를 작성할 수 있다는걸 배우는 느낌이다.. 쉽지않지만..

profile
아자아자자

0개의 댓글