프로그래밍 언어/Java

java 1강 기본개념정리(class와 instance의 관계 )

happy_life 2021. 10. 8. 18:52

java는 객체지향프로그래밍

 

객체 지향 프로그래밍에서는 모든 데이터를 '객체'로 취급

이 때 객체를 만들어 내기 위한 설계도와 같은 개념을 class라고 함

Class(붕어빵 틀)

 

자바에서 클래스란 객체를 정의하는 틀 또는 설계도(붕어빵틀)

자바에선 이런 설계도를 가지고 여러 객체(붕어빵1,붕어빵2...)를 생성하여 사용함

 

class의 구성 요소

자바 class는 맴버로 속성을 표현하는 필드와 기능을 표현하는 메서드로 구성되어있음

생성된 객체의 필드를 초기화해주는 특별한 메소드인 생성자 또한 가짐.

 

코드예시
package src;

class Calculator{
	static double PI = 3.14; //static 변하지 않는 값 -> class에 종속된 값
	int left,right;
	
	public void setOprands(int left,int right) {
		this.left = left;
		this.right = right;
	}
	
	public void sum() {
		System.out.println(this.left+this.right);
	}
	
	public void avg() {
		System.out.println((this.left+this.right)/2);
	}
	
}


public class CalculatorDemo4 {

	public static void main(String[] args) {
		Calculator c1 = new Calculator();
		c1.setOprands(10, 20);
		c1.avg();
		c1.sum();
	}
	
}

 

PI 는 class 내의 변수

 

 

 

 

인스턴스(instance)(붕어빵1,붕어빵2,...)

(1)

자바에서 클래스를 사용하기위해선 일단 해당 클래스 타입의 객체를 선언해야함.

즉, 클래스 타입의 객체 = 인스턴스(instance)

위의 예에서 New Calculator();로 객체를 선언하고  c1이라는 변수에 집어넣음

 

(2)

자바에선 하나의 클래스에서 여러가지 객체(인스턴스)를 생성할 수 있음

 

(3)

c1는 class Calculator의 성격을 가지는 객체임. 

그리고 PI는 상위에 있는 class에 정의된 변수이기 때문에, c1에서 사용할 수 있음(그러나 c1을 조작하여 변경 불가능

= 만들어진 붕어빵을 조작해도 붕어빵틀은 변하지 않지만, 붕어빵틀에 *모양을 새기고 붕어빵을 만들면 붕어빵에 *모양이 찍힌다)