본문 바로가기
[JAVA]/[자바 기초]

[자바 기초] 객체 지향 언어란?

by 북방바다코끼리표범 2023. 7. 28.

복습

https://shins99.tistory.com/9

 

[자바 기초] 참조 자료형 - Scanner, Random

복습 https://shins99.tistory.com/8 [자바 기초] for, while 복습 https://shins99.tistory.com/7 [자바 기초] if 문 복습 https://shins99.tistory.com/6 💡 학습 목표 1. if문 단독 2. if else 구문 3. if else if else 구분 4. else 구문

shins99.tistory.com


객체 지향 언어란?

💡 학습 목표 

class 와 객체에 의미를 이해하자 

class - 객체를 만들기 전에 속성(상태)와 기능을 설계하는 도면
객체 : 실제 메모리에 올라간 녀석 (프로그램 세상에 존재하게 됨)
멤버 변수 : 객체를 설계할 때 클래스 안에 정의하는 변수 
지역 변수 : main 함수 안에서 사용하는 변수

클래스(Class)

  • 클래스는 객체를 정의하는 설계도.
  • 클래스란? 현실 세상에 존재하는 대부분의 것들은 클래스로 표현할 수 있다.
  • 추상적이고 포괄적인 개념 ex) 동물, 가구
  • public 클래스는 java 파일에 단 하나만 존재, public 클래스명과 java 파일명은 동일

객체 (Object, Instacnce)

  • 객체란 클래스(설계도)를 통해 현실 세계에 뿌리내릴 수 있는 것.
  • 아직 현실 세계에 존재 하지는 않지만 존재할 가능성이 있는 것이 객체.
  • 'new' 키워드를 통해 실제 메모리에 로드 된 것 (클래스에 메모리 생성한 상태)
  • 클래스를 기반으로 생성된 인스턴스 - (각 객체마다 다른 멤버 변수 값 가짐)
  • 구체적인 대상 ex) 개, 고양이, 사자 
  • 연산자 : 객체의 멤버변수, 메소드에 접근할 때 사용 (객체명, 변수명)

Object : 실체화 가능한 것

Instacne : heap 메모리에 올라가서 실체화 된 것

 

지역변수

  • 함수, 메소드 내에서 선언, 선언한 함수,메소드 내에서만 사용하는 변수
  • 선언한 곳이 아닌 곳에서는 사용불가
  • 스택(stack) 메모리에 저장

 

멤버변수

  • 클래스 내에서 객체 속성,상태,특성 등을 정의할 때 사용
  • 변수가 선언되면 기본값 자동 초기화  (↔ 지역변수)
  • 힙(heap) 메모리 저장

참조변수

  • 메모리에 생성된 객체를 가르킴
  • 메모리 상에 생성된 객체에 접근가능한 메모리 주소 값을 가짐 (참조 값)
  • 스택(stack) 메모리에 저장

 

멤버 변수 선언

public class 클래스명 {
	// 상태 변수
	자료형 멤버변수1;
    자료형 멤버변수2;
    	...
}

 

메모

더보기

- 지역변수와 멤버 변수의 이름이 동일해도 가능

- 하나의 java 파일 안에 여러 개의 클래스 작성 가능 - public을 가진 클래스는 단 하나만 가능

 - heap  = 동적 메모리 영역, 멤버변수, 객체 생성시 haep에 생성