공부라고하지만

static 메서드

sohhere 2023. 12. 16. 00:07

static 메서드는 특정 인스턴스와 관련없는 작업 수행에 사용

클래스와 인스턴스를 생성하지 않고도 호출 가능 = 특정객체의 상태나 속성에 의존하지 않는

독립적인 동작 수행

 

1. 유틸리티 함수

특정 인스턴스에 종속되지 않으며, 클래스의 기능을 확장하거나 보조

 
      public class StringUtils {
          // 유틸리티 함수: 문자열을 대문자로 변환
          public static String capitalize(String str) {
              return str.substring(0, 1).toUpperCase() + str.substring(1);
          }

          public static void main(String[] args) {
              // 객체 생성 없이 유틸리티 함수 호출
              String result = StringUtils.capitalize("hello");
              System.out.println(result); // 출력: Hello
          }
      }

 

2. 팩토리 메서드

인스턴스를 생성하는데 사용되는 복잡한 로직이나 여러 단계를 거치는 경우 

이를 처리하기 위한 정적메서드를 사용 

      public class Car {
          private String model;

          private Car(String model) {
              this.model = model;
          }

          // 팩토리 메서드: SportsCar 객체를 생성하는 메서드
          public static Car createSportsCar() {
              return new Car("Sports Car");
          }

          public static void main(String[] args) {
              // 객체 생성 없이 팩토리 메서드 호출
              Car sportsCar = Car.createSportsCar();
              System.out.println(sportsCar.model); // 출력: Sports Car
          }
      }

 

 

3. 전역 함수의 모음

클래스 내 연관된 함수를 그룹화 하여 유지보수를 쉽게 할 수있음

클래스의 인스턴스를 생성하지않아도 함수 사용 가능

 

      public class MyFunctions {
          // 전역 함수의 모음: 두 숫자를 더하는 함수
          public static int add(int a, int b) {
              return a + b;
          }

          // 다른 전역 함수 추가 가능...

          public static void main(String[] args) {
              // 객체 생성 없이 전역 함수 호출
              int result = MyFunctions.add(3, 5);
              System.out.println(result); // 출력: 8
          }
      }

'공부라고하지만' 카테고리의 다른 글

에러 및 예외 처리  (0) 2023.09.22
파이썬 _230809  (0) 2023.08.09
파이썬 - 230805  (0) 2023.08.05