스프링 강의 2일차 자바는 클래스 보다 객체가 더 중요하다

이상민·2024년 8월 16일
0

본격적으로 스프링으로 넘어가기 전에 자바에 클래스와 객체에 관해서 이해하는 시간을 가졌다

자바는 객체 지향 언어이다!!

자바는 클래스보다 객체가 더 중요하다

메모리?

뭔가 사용한다 -> 메모리에 올라간다

변수를 사용한다는 것, 변수를 선언한다는 것

변수를 메모리에 올리겠다는 이야기

존재하지 않는다는 뜻은, 메모리에 올라가지 않았다는 뜻 -> 사용하지 못한다 -> 클래스로만은 아무것도 하지 못한다

클래스란?

아무 것도 아니다 (실존하지 않는다)

  • 설계도

  • 청사진

  • 프로토타입

설계도로는 아무것도 할 수가 없다

집 설계도가 있다고해서 집에 살 수 있는 것이 아니다

즉 클래스만 있다면 아무것도 할 수 없다!!

클래스는 -> 메모리에 올라가지 않은 상태이다

사용할려면 객체를 생성해야한다.

int number = 1;
String hello ="hello"
Human kim = new Human();

이 3개는 똑같은 것이다

메모리 관점에서

클래스는 아무 것도 아니다

클래스를 이용해서 메모리에 올려야만 사용할 수 있다!!

노트

진짜 모르겠다면?
본인이 직접 만든 클래스에 (.)을 붙여서 코드를 작성하지 말아라
대문자로 시작하는 것에 (.)을 붙이지 말자

static?

사용이 가능하다는 뜻은, 메모리에 올라간 것

다시 말하자면 main()메서드는 시작시 메모리에 올라간 것

static때문이다

클래스로 객체를 생성하지 않아도 바로 메모리에 올려버리는 것이 static이다.

함부로 사용하지 말자(위험하다) 100프로 이해하고 사용하는 것이 아니라면 쓰지말자

static을 사용하고 있다면 이게 정말 올바른 건지 의심
자신이 정말 잘 알고 의도적으로 사용하지 않는다면 틀린 것이다.

생성자 -> 반드시 이렇게 객체를 만들어(강제)

에러가 있으면 먼저 해석하고 그 다음 해결하자

String 과 Integer도 클래스다
String은 뒤에 new String();이 생략되어 있는 것

정리

  1. 클래스는 설계도기 때문에 아무것도 못한다. 반드시 클래스를 통해서 객체(Object)물체를 생성해서 메모리에 올려야한다.
    설계도가 아니라 실제로 존재하는 것 -> 객체

  2. static 쓰지 말자

profile
안녕하세요

0개의 댓글