[java] 클래스, 객체, 인스턴스

sesame·2021년 8월 4일
0

Java

목록 보기
11/25

1. 클래스(Class) - 설계도, 틀

객체를 생성하기 위해 속성(변수)과 기능(메소드) 정의한 틀

클래스 EX1)

class Student {
     String name;
     String tel;
     String birth;
     String address;
     public Student( String name, String tel, String birth, String address) {
          this.name = name;
          this.tel = tel;;
          this.birth = birth;
          this.address = address;
     }
}

클래스 내 구성원들

> 멤버 변수

객체의 데이터가 저장되는 곳, 클래스 {} 내 선언

  • 클래스 변수 : static 키워드 가짐. 클래스형 객체들이 모두 공유하는 필드

  • 인스턴스 변수: 클래스 영역에 선언, 클래스에 대한 객체를 동적 메모리 할당할 때

  • 지역 변수: 메소드 내에서만 사용 가능, cycle: 메소드 시작 ~ 종료

> 멤버 함수(Method)

보통 다른 언어에는 함수라는 것이 별도로 있지만 자바는 클래스를 떠나 존재할 수 없기 때문에 클래스 내에 존재하는 함수를 메소드라고 한다.

🤔return의 또 다른 쓰임새
특별한 경우에 메소드를 빠져나가기를 원할 때 return 자료형이 void형인 메소드에 return만 단독으로 사용하여 메소드를 즉시 빠져나갈 수 있다. //return 자료형이 명시되어 있는 메소드에서 return 문만 작성하면 컴파일 시 에러 발생
  • 클래스 메소드
    static 키워드 가짐, 메소드 호출 시 객체의 레퍼런스 사용하지 않고 클래스명을 사용하여 호출한다.
<public class methodPractice(){
     public static int getNum(int num1){
          methodPractice.getNum(num1);
     }
}
  • 인스턴스 메소드: 객체의 주소(레퍼런스)를 전달받아 해당 주소 위치에 있는 객체의 인스턴스 변수 값들을 연산 처리
public class methodPractice(){
     public static int getNum(int num1){
          methodPractice mp = new methodPractice();
          mp.getNum(num1);
     }
}

2. 객체(Object or Instance) - 결과물 //Student st1 = new Student();

클래스에 정의된 내용대로 메모리에 할당된 결과물

  • 객체 할당
    • heap 영역에 객체를 생성한 후 주소를 return

객체 EX1)

Student yukim = new Student("김철수", "0100000", "990603", "19084");

3. 인스턴스

설계도를 바탕으로 소프트웨어 세계에 구현된 구체적인 실체를 말한다

클래스 타입으로 선언되었을 때 객체라고 부르고, 그 객체가 메모리에 할당되어 실제로 사용이 될 때 인스턴스라고 부른다!!

0개의 댓글

관련 채용 정보