왕현성
코딩발자취
왕현성
전체 방문자
오늘
어제
  • 코딩 (277)
    • Python (71)
    • Java (16)
    • MySQL (34)
    • 인공지능 (48)
      • 머신러닝 (16)
      • 딥러닝 (32)
    • 영상처리 (4)
    • Rest API (21)
    • Android Studio (25)
    • streamlit (13)
    • DevOps (22)
      • AWS (9)
      • PuTTY (5)
      • Git (4)
      • Serverless (2)
      • Docker (2)
    • IT 기술 용어 (6)
    • 디버깅 ( 오류 해결 과정 ) (17)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • PYTHON
  • 의료이미징
  • 영상처리
  • alibi-detection
  • 영상기술
  • ComputerVision
  • yolov8
  • encoding='utf-8'
  • 기상탐사
  • 딥러닝
  • labelme
  • get_long_description
  • matplotlib
  • 영상처리역사
  • pytorch
  • PIL
  • pip install labelme
  • 컴퓨터비전
  • imageprocessing
  • ckpt_file
  • tune()
  • maskimage
  • unsupervised
  • UnboundLocalError
  • OpenCV
  • alibidetect
  • labelme UnocodeDecodeError
  • 비지도학습
  • TensorFlow
  • numpy

최근 댓글

최근 글

티스토리

250x250
hELLO · Designed By 정상우.
왕현성
Java

Java - 클래스 (객체, 인스턴스 변수(=멤버 변수), 메소드)

Java - 클래스 (객체, 인스턴스 변수(=멤버 변수), 메소드)
Java

Java - 클래스 (객체, 인스턴스 변수(=멤버 변수), 메소드)

2023. 1. 18. 15:33
728x90

1. 클래스 (Class)

  • 객체 지향 프로그래밍에서 특정 객체를 생성하기 위해 변수와 메소드를 정의하는 일종의 틀을 의미
  • 객체를 조금 더 효율적으로 생성하기 위해 만들어진 구문

 

2. 객체 (Object)

  • 클래스에 정의된 내용대로 메모리에 생성된 것

 

3. 객체의 선언 및 생성(메모리 할당)

  • 객체 변수 선언 : 클래스명 객체명;
  • 객체 변수 생성 : 객체명 = new 클래스명();
  • 객체의 선언과 생성은 한 줄로도 표현 가능

 

4. 인스턴스 변수 사용과 접근

  • 클래스에서 정의한 변수
  • 인스턴스 변수는 각각의 독립된 공간을 가짐
    • 예) Product p1 = new Product();
      -> p1에서 사용되는 변수는 같은 이름의 변수라도 독립된 공간을 가지기 때문에 출력되는 값이 다름

5. 메소드 (Method)

  • 클래스 내에서 정의된 함수

 

6. 메소드 호출

  • 객체 변수의 뒤에 점(.)을 하고 함수이름 입력
  • 메소드의 파라미터가 존재 할 경우, 파라미터의 수에 맞춰 호출

 

public class Product {
	
	// 변수인데 클래스 안에 있는 변수 : 멤버변수라 하고
	// 이 변수들은  Heap 메모리에 생긴다!!!!
	int number;
	String name;
	
	// 클래스는 메소드도 있다.
	// 아래처럼 출력하는 함수를 만든다.
	// 제품 번호 : 1이고 , 제품명 : 컴퓨터
	
	void print() {
		System.out.println("제품 번호 : "+number+" , 제품명 :"+name);
	}
	

}
public class ProductMain {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		int i = 3;
		
		// 클래스를 가지고 실제로 데이터를 만든다 => 객체 생성!
		// 클래스 :틀, 객체 : 실제 메모리에 올라가는 것.

		
		Product p1 = new Product();
		// 객체에 데이터를 저장한다.
		// 제품 번호는 1, 제품명은 컴퓨터
		p1.number = 1;
		p1.name = "컴퓨터";
		
		// 제품번호는 2, 제품명은 TV
		Product p2 = new Product();
		p2.number = 2;
		p2.name = "TV";
		
		// 데이터 억세스
		// p1의 제품명을 출력하세요.
		System.out.println(p1.name);
		// p2의 제품명을 출력하세요.
		System.out.println(p2.name);
		
		// 출력을 이렇게 하고싶다.
		// 제품 번호 : 1이고 , 제품명 : 컴퓨터
		System.out.println("제품 번호 : "+p1.number+" , 제품명 : "+p1.name);
		System.out.println("제품 번호 : "+p2.number+" , 제품명 : "+p2.name);
		
		// 출력을 이렇게 하고싶다.
		// 제품 번호 : 1이고 , 제품명 : 컴퓨터
		p1.print();
		p2.print();
		
	
	}

}

 

 

위 코드의 메모리 상태를 그림으로 표현해봤다.

'Java' 카테고리의 다른 글

Java - 메소드 오버로딩 (Method Overloading)  (0) 2023.01.18
Java - Static (전역변수)와 메모리의 data영역  (0) 2023.01.18
Java - 함수의 정의 ( 데이터타입, 함수명, 파라미터 )  (0) 2023.01.18
Java - 배열 (선언과 생성, 사용 방법,데이터 억세스,배열의 길이 구하는 방법 length)  (0) 2023.01.18
Java - 반복문 사용 방법 (for/while)  (0) 2023.01.18
  • 1. 클래스 (Class)
  • 2. 객체 (Object)
  • 3. 객체의 선언 및 생성(메모리 할당)
  • 4. 인스턴스 변수 사용과 접근
  • 5. 메소드 (Method)
  • 6. 메소드 호출
  • 위 코드의 메모리 상태를 그림으로 표현해봤다.
'Java' 카테고리의 다른 글
  • Java - 메소드 오버로딩 (Method Overloading)
  • Java - Static (전역변수)와 메모리의 data영역
  • Java - 함수의 정의 ( 데이터타입, 함수명, 파라미터 )
  • Java - 배열 (선언과 생성, 사용 방법,데이터 억세스,배열의 길이 구하는 방법 length)
왕현성
왕현성
AI 머신비전 학습일지

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.