클래스 | 객체 | 메소드 | 필드

sisun·2023년 4월 26일
0

백엔드

목록 보기
11/12

앞에서 자바의 언어에 대하고 각자의 용도를 말했다.
이젠 각자의 쓰임 및 조건을 말할 차례이다.

클래스

클래스의 이름은 첫문자를 무조건 대문자로 써야한다.
클래스는 객체를 만드는 기본 도구

  • 어떤 객체를 표현하는 데이터와 객체의 행동을 나타내는 메소드로 구성
  • 인스턴스: 클래스가 생성하는 객체들 (제품)
  • 속성: 각 객체마다 갖는 특성
  • 메소드: 모른 객체가 공유하는 행동
    • 파일에 클래스가 한 개 있는 경우엔 클래스명과 파일명이 일치 해야 함
    • 하나의 파일에 클래스가 여러개 있는 경우엔 하나의 클래스만 public 키워드가 붙음

인스턴스가 헷갈리다면 앞에서 보고 오면 됩니다

객체(object)

변수와 함수가 모여 만든 하나의 꾸러미
객체를 만들기 위해서는 클래스와 인스턴스가 필요하다.

  • 프로퍼티 = 필드(field): 변수로 만드는 것 (각 객체마다 갖는 특성)
  • 메소드(methood): 선언된 함수 (모든 객체가 공유하는 행동)

예시
Calculator c1 = new Calculator();
Calculator라는 객체를 만들고 c1이라고 하는 변수에 담았으며 c1의 데이터형은 객체의 이름(Calculator)을 가지고 있어야 한다.
new가 붙어 있기 때문에 메소드가 아닌 객체다.


(출처: 생활코딩)

클래스를 new를 이용 → c1,c2의 객체를 만들음
이러한 객체를 인스턴스라고 말함

인스턴스 안에는 left,right의 값인 변수를 가지고 있으며
c1과 c2는 동일한 클래스라 동작하는 방법은 똑같다.

left,right의 값인 변수((ex)left : 10, right: 20)를
객체가 가지고 있는 상태라고 하며
상태를 바탕으로 객체에게 메소드를 호출하는 것이 행위가 됨

즉, 객체라고 하는 것은 상태와 행위에 집합

객체 모델링

현실 세계의 객체를 소프트웨어 객체로 설계하는 것
현실 세계 객체의 속성과 동작을 추려내어 소프트웨어 객체의 필드와 메소드로 정의 하는 과정

필드 (field)

자동차 ( Car ) 라는 객체가 있다면 자동차의 이름, 자동차 번호를 가지고 있을것이며 그것을 속성이라고 부르고 그것을 필드라고 부른다.

학생(Studeut)이 20명이 있다면 학생(Studeut)이라는 객체가 20개 있다는 것이며, 각각의 학생은 이름이 구별되며 객체별로 속성의 값이 유지된다.

이름과 번호를 필드로 가지고 있는 Car 클래스 선언

public class Car {
//타입 변수명
    String name;
    int number;

car라는 클래스에 이름과 번호를 필드로 선언함.

public class CarExam {
    public static void main(String[] args) {
        Car c1 = new Car(); 
        Car c2 = new Car(); 
        //car클래스 인스턴스화 하기(car 객체 2개 생성 )

        c1.name = "자동차"; 
        c1.number = 1234;
        //참조 변수 다음에 나오는 점은 참조변수가 참조하는 객체가 가지고 있는 것을 사용할 때 사용

        c2.name = "버스";
        c2.number = 5678;

        System.out.println(c1.name);  
        //c1이 가지고 있는 name 이라는 값을 출력해주세요
       System.out.println(c1.number);

        System.out.println(c2.name);
        System.out.println(c2.number);
    }
}

메소드(Method)

필드가 물체의 상태라면 메소드는 물체의 행동이다.
car에 비교 하자면 필드는 이름,번호 메소드는 전진,후진이다.

메소드는 입력값이 있고, 입력값을 받아 무엇을 한 다음 결과값을 도출해낸다.

  • 입력값을 "매개변수","인자" 라고 하고, 결과값을 "리턴값"이라고 한다.
    • 인자(Argument)는 어떤 함수를 호출시에 전달되는 값을 의미
    • 매개변수(Parameter)는 그 전달된 인자를 받아들이는 변수를 의미
  • 메소드는 클래스가 가지고 있는 기능이라 클래스 안에 선언된다.
profile
풀스택 국비수강중

0개의 댓글