철갑이의 이모저모

[java] 클래스와 객체 본문

java

[java] 클래스와 객체

철갑 2021. 6. 1. 12:45
728x90

객체 : 소프트웨어 세계에 구현할 대상. 구체적, 추상척 데이터 단위

클래스 : 객체에 대한 속성과 기능을 코드로 구현한 것

인스턴스 : 클래스가 메모리에 생성된 상태

즉, 학생 이라는 추상적인 개념을 클래스, 어떤 학생인지 만들어낸게 인스턴스(객체) 라고 생각하면 됨 이 과정을 인스턴스화 라고 한다.

클래스 정의 방법

(접근 제어자) class 클래스 이름{
  멤버변수;
  메서드;
}

클래스 생성 방법

- 클래스를 사용하기 위해서는 클래스를 생성해야 함. new 예약어를 이용

클래스형 변수이름 = new 생성자;
//class 예제
//student.java

public class Student { //클래스 정의
	
	int studentID;
	String studentName;
	int grade;
	String address;
	
	public void showStudentInfo() {
		System.out.println(studentName+","+address);
	}	
}
//example.java

public class example {
	public static void main(String[] args) {
		Student studentLee = new Student(); //클래스 생성
		studentLee.studentName = "햄스터";
		studentLee.address = "서울시 서초구 서초동";
		
		studentLee.showStudentInfo();
	}
}

저장 구조

 

메서드 : 객체의 기능을 제공하기 위해 클래스 내부에 구현되는 함수

함수 : 하나의 기능을 수행하는 일련의 코드, 중복되는 기능은 함수로 구현하고 함수를 호출하여 사용한다.

//함수 구현 예제

public class function {

	public static void main(String[] args) {
		int num1 = 10;
		int num2 = 30;
		
		int sum = addNum(num1,num2); //함수 호출
		System.out.println(sum);
		
	}
	
	public static int addNum(int n1, int n2) { //함수 addNum 선언
		int result = n1+n2;
		
		return result; //반환값이 없는 경우 int -> void 로 정의
	}

}

함수가 호출될 때는 스택 메모리를 사용한다. 호출이 끝나면(즉, return되면) 스택메모리에서 사라지게 된다.

 

용어정리

용어 설명
객체 객체 지향 프로그램의 대상, 생성된 인스턴스
클래스 객체를 프로그래밍하기 위해 코드로 만든 상태
인스턴스 클래스가 메모리에 생성된 상태
멤버 변수 클래스의 속성, 특성
메서드 멤버 변수를 이용하여 클래스의 기능을 구현
참조 변수 메모리에 생성된 인스턴스를 가리키는 변수
참조 값 생성된 인스턴스의 메모리 주소 값

 

728x90

'java' 카테고리의 다른 글

[java] 멀티 스레드 - (1) 작업 스레드 생성과 실행  (0) 2023.07.05
[java] java 메모리 구조  (0) 2021.05.25