프리 정보 컨텐츠

자바 메소드, 클래스, 인스턴스, 개념 총정리 본문

JAVA

자바 메소드, 클래스, 인스턴스, 개념 총정리

쏜스 2020. 12. 27. 14:13
반응형

메소드

자바에서 클래스는 멤버로 속성을 표현하는 필드와 기능을 표현하는 메소드를 가진다.

메소드는 어떠한 특정 작업을 수행하기 위한 명령문의 집합이다.

사용하는 이유?

중복되는 코드의 반복적인 프로그래밍을 줄일 수가 있기 때문이다.

모듈화로 인해 코드의 가독성이 좋아진다.

버그 발생 시에 유지보수를 쉽게 할 수있다.

 

public class OutputMethod {				 
	public static String a() {  //return 할 값이 문자열이므로 String 
		return "a"; // a라는 메소드는 return 뒤에 있는값이 반환된다.
	}	
	public static int one() { // method 의 return 값 뒤에있는 값이 실행결과가 된다. 		
		return 1;	
	}
	
	public static void main(String[] args) {		
		System.out.println(a());
		System.out.println(one());		
	}
}

 

main 함수 내에서 a 매소드를 출력하면 return "a" 값을 반환한다.

main 함수 내에서 one 매소드를 출력하면 return "1" 값을 반환한다.

 

class Car {
    private int currentSpeed;
    private int accelerationTime;

    public void accelerate(int speed, int second) {
        System.out.println(second + "초간 속도를 시속 " + speed + "(으)로 가속함!!");
    }
}

public class Method01 {
    public static void main(String[] args) {
        Car myCar = new Car();   // 객체 생성
        myCar.accelerate(60, 3); // 메소드 호출
    }
}
3초간 속도를 시속 60(으)로 가속함!!

 

mycar 인스턴스의 accelerage() 메소드 호출한다.

this 참조 변수

this 참조 변수는 자기 자신을 참조하는데 사용하며 인스턴스의 주소를 가리킨다.

this 참조 변수는 인스턴스 메소드에서 사용할 수가 있다. (클래스 메소드에서는 사용할 수없다.)

 

class Car {
    private String modelName;
    private int modelYear;
    private String color;
    private int maxSpeed;
    private int currentSpeed;

    Car(String modelName, int modelYear, String color, int maxSpeed) {
        this.modelName = modelName;
        this.modelYear = modelYear;
        this.color = color;
        this.maxSpeed = maxSpeed;
        this.currentSpeed = 0;
    }
    
    Car() {
        this("소나타", 2012, "검정색", 160); // 다른 생성자를 호출함.
    }

    public String getModel() {
        return this.modelYear + "년식 " + this.modelName + " " + this.color;
    }
}
 
public class Method05 {
    public static void main(String[] args) {
        Car tcpCar = new Car(); System.out.println(tcpCar.getModel());
    }
}
2012년식 소나타 검정색

 

main 클래스 tcpCar 참조변수 생성 -> tcpCar.getModel() 출력

getModel() 메소드 출력


클래스

객체를 정의하는 틀 또는 설계도와 같은 의미로 사용된다.

설계도인 클래스를 가지고 여러 메소드, 객체와 함께 사용한다.

 

메소드 구조 생성 -> 메소드+변수 그룹핑 -> 클래스 구조 생성 -> 인스턴스 사용 또 다른 구조 생성

 

class Car {                    // 클래스 이름
    private String modelName;  // 필드
    private int modelYear;     // 필드
 
    Car(String modelName, int modelYear) { // 생성자
        this.modelName = modelName;
        this.modelYear = modelYear;
    }

    public String getModel() { // 메소드
        return this.modelYear + "년식 " + this.modelName + " " + this.color;
    }
}

 

인스턴스

클래스와 인스턴스는 밀접한 관계가 있다.

자바에서 클래스를 사용하기 위해서는 객체를 선언한다.

 

이렇게 클래스로부터 객체를 선언하는 과정이 클래스의 인스턴스화라고 정의하고,

선언된 해당 클래스 타입의 객체를 인스턴스라고 한다.

 

클래스이름 객체참조변수이름;
Car myCar; // Car 라는 클래스에 인스턴스화 -> myCar


객체참조변수이름 = new 클래스이름();
myCar = new Car(); // myCar 에 new 키워드를 사용하여 인스턴스 생성


클래스이름 객체참조변수이름 = new 클래스이름();
Car myCar = new Car(); // 인스턴스를 사용할 때 가장 많이 사용하는 구조

 

반응형
Comments