20210702 TIL

김진태·2021년 7월 2일
0

TIL

목록 보기
18/28

클래스와 객체와 인스턴스.

클래스(Class)

  • 객체를 만들어 내기 위한 설계도
  • 연관되어 있는 변수와 메서드의 집합

객체(Object)

  • 모든 인스턴스를 대표하는 일반적 용어
  • oop의 관점에서 클래스의 타입으로 선언되었을 때 객체라고 부른다.

인스턴스(Instance)

  • 특정 클래스로부터 생성된 객체 (오브젝트)
  • 객체를 소프트웨어에 실체화 하면 그것을 인스턴스라고 부른다
  • 메모리에 할당되어 실제 사용될 때
  • 인스턴스는 어떤 원본(추상적인 개념)으로부터 생성된 복제본을 의미한다.

코드로 확인하기.

  • 클래스

    class Person{
    	String name;
        String age;
    
        public Person() {
        }
    
        public void setName(String name){
            this.name = name;
        }
    
        public void setAge(String age) {
            this.age = age;
        }
    
        public String getName() {
            return name;
        }
    
        public String getAge() {
            return age;
        }
    
        public void talk (){
            System.out.println("안녕 나는"+name+"이야");
        }
    	
    }
  • 객체

    public class TestInstance{
    	public static void main(String[] args) {	
    				Person p = new Person(); 
            p.setName("김진태");
            p.talk();
    	}
    }
    >>> 안녕 나는 김진태이야

생성원리

  1. p라고 하는 참조변수가 stack메모리에 생성
  2. new를 통해 실제값들이 들어갈 공간의 주소값을 가진채 heap메모리에 생긴다.
  3. 대입연산자를 통해 p가 heap공간의 주소를 가르킨다.(참조한다)
profile
안녕!

0개의 댓글