• 메서드
    • 메서드(method)란 어떠한 특정 작업을 수행하기 위한 명령문의 집합이고, 중복을 피하여 프로그램을 모듈화하기 위해 사용

    • 예시) public int sum(int a, int b) {

         int total = a + b;
      

      return total;

        }
      
    • 구성요소

      • 접근 제어자 : 해당 메소드에 접근할 수 있는 범위를 명시
        • 위 예시의 public → 프로젝트 전역에서 해당 메서드 접근가능
      • 반환 타입(return type)
        • 메소드가 모든 작업을 마치고 반환하는 데이터의 타입을 명시
        • ex)String, int 등
      • 매개변수(parameters)
        • 메소드 실행을 위해 필요한 변수(이를 전달하기 위해 정의)
        • 위 예시의 int a, int b
  • 클래스
    • 클래스란 메소드와 변수가 확장된 좀 더 큰 프로그램으로서 여러 변수와 메소드의 집합

    • 클래스 예시

      public class Car {        // 클래스 이름

      private String modelName;  // 필드
      
      private int modelYear;     // 필드
      
      public void setModelName(String name){ // 메소드
      
        this.modelName = name;
      

      }

      public String getModelName() { 
      
        this.modelName;
      
      }
      

      }

    • 클래스의 구성 요소

      • 상태를 나타내는 필드(field)
        • 필드(field)
          • 필드(field)란 클래스에 포함된 변수를 지칭
          • 종류
            • 클래스 변수(static variable)
              • static이 붙어 있는 클래스 내의 변수
              • 모든 인스턴스 간에 상태 공유 목적으로 주로 사용
            • 인스턴스 변수(instance variable)
              • static이 붙어있지 않은 클래스 내의 변수
            • 지역 변수(local variable)
              • 메소드 내의 변수
      • 행동을 나타내는 메소드(method)의 집합
        • 메소드 종류
          • 클래스 메서드
            • static이 붙어 있는 클래스 내의 메서드
            • 객체 상태와 무관한 도우미 함수(utility method)를 목적으로 주로 사용
          • 객체 메서드
            • static이 붙어있지 않은 클래스 내의 메서드
  • 객체
    • 클래스는 객체의 설계도와 같은 역할을 하며, 객체는 이 설계도를 바탕으로 생성된 실체
      • 객체란 클래스를 통해 만들어진 복사본과 같은 개념

      • EX)붕어빵기계(class)에서 붕어빵(객체)을 만드는 것

        Untitled

      • 팥이 들어갈수도, 슈크림이 들어갈수도 있으므로 같은 붕어빵이나, 다른 붕어빵

    • 객체를 만드는 법
      • 클래스를 통해 클래스의 복사본을 만드는것
      • 문법
        • 클래스명 객체의변수명 = new 클래스명();
    • 객체 생성 이유
      • 클래스를 통해 고유의 변수(메모리 구조)를 가진 별개의 클래스 개체를 만들어 내기 위함
        • 예)회계프로그램 만들었다고 가정할때, 각 부서별로 독립적인 회계변수값을 사용하기 위해 account클래스에서 account객체를 여러개 만들어 사용
  • 클래스, 객체 정리
    • 클래스(class)
      • 클래스는 객체의 상태를 나타내는 변수(field, variable)와 행동을 나타내는 메소드로 구성
      • 클래스는 객체를 정의하는 틀 또는 설계도와 같은 역할
    • 인스턴스(객체)
      • 클래스로부터 만들어진 구체화된 형태의 자료형
      • 하나의 클래스로부터 여러 개의 인스턴스를 생성
      • 인스턴스는 독립된 자신만의 메모리 공간 소유
  • 메소드 심화
    • 메소드의 다양한 형식
      • 메소드 호출방식
        • static 메소드 호출
          • 클래스명.메소드이름();
        • 객체 메소드 호출
          • 객체참조변수이름.메소드이름();
          • 예시)
            • Car myCar = new Car(); // 객체를 생성함.
            • myCar.accelerate(); // myCar 인스턴스의 accelerate() 메소드를 호출함.
      • 메소드의 매개변수와 return
        • 메소드의 일반적인 처리 방식
          • 입력값 -> 메소드(블랙박스) -> 리턴값
        • 입력값
          • 매개변수(parameter), 인수(arguments), 입력값 등으로 불림
        • 반환타입
          • 입력값, 리턴값이 있는 일반적인 메소드
          • 입력값o, 리턴값x 메소드
          • 입력값x, 리턴값O 메소드
          • 입력값도 리턴값도 없는 메소드
        • return 의 또다른 쓰임새
      • 메소드의 유효범위
      • 객체를 위한 클래스의 전형적인 구조