[자바의 정석] 클래스와 객체

2023. 9. 17. 16:05·📝 끄적끄적/🖥️ 자바의 정석

객체지향에 대한 내용을 복기하고자 자바 시작할 때 읽었던 자바의 정석 객체지향 부분을 다시 수강했다.

아는 부분도 있었지만, 앗 이걸 까먹다니 하는 부분도 정말 많았다.

또 소스 짜면서 궁금했던 부분도 짚어주셔서 이래서 자버지라 불리시는구나 했다.

 

회사에서 노션을 막아버려서 노션에 정리해놨던 것을 포스팅하고,

개발하면서 틈틈이 보려고 한다.

 

OOP ( object - oriented programming)

1. 캡슐화

2. 상속

3. 추상화

4. 다형성

 

선생님 왈 다형성이 제일 중요하다고 생각함.

강의를 보면서 정확히 OOP를 이해해 보자.

 

객체 지향 개념은 어떻게 공부해야 하나요??

객체 지향은 반복할수록 이해도가 올라간다.

외워라! 넵

 

클래스

  • 클래스의 정의 - 클래스란 객체를 정의해 놓은 것
  • 클래스의 용도 - 클래스는 객체를 생성하는 데 사용
  • 클래스 - 붕어빵 기계
  • 객체 - 붕어빵

이것은 아닐 수도 있다. 자바 객체지향의 원리와 이해 책에서 다시 이해해 보기...

 

객체와 인스턴스

객체와 인스턴스를 같다고 보면 된다.

인스턴스를 일반적으로 얘기할 때 객체다!라고 함

TV 클래스로부터 생성된 객체 = 인스턴스

이런 과정을 인스턴스화 라고 함.

 

클래스가 왜 필요한가? = 객체를 생성하기 위해

객체가 왜 필요한가? = 객체를 사용하기 위해

객체를 사용한다는 것은? = 객체가 가진 속성(변수)과 기능(메서드)을 사용하려고

 

하나의 소스파일에 여러 클래스 작성

public class Hello2 {}
class Hello3 {} 

가능

= public class가 있는 경우, 소스파일의 이름은 반드시 public class의 이름과 일치해야 함.

 

class Hello2 {}
class Hello3 {}

없다면 둘 다 가능

 

객체의 생성과 사용

Tv t;  //Tv클래스 타입의 참조변수 t를 선언
t = new Tv(); //Tv인스턴스를 생성한 후, 생성된 Tv인스턴스의 주소를 t에 저장

 

객체는 각자 주소가 있다.

t2=t1

이렇게 하면 t2의 0x200 연결고리가 끊어지고 0x100로 연결됨

객체지향 개념에서는 참조변수가 없으면 객체는 사용 불가능

0x200 은 가비지 컬렉터(GC)가 주기적으로 메모리를 확인하다가 제거함.

b는 불가능

 

객체 배열 = 참조변수 배열

0x1000번지에 참조변수 3개 배열이 들어가 있는 모양.

클래스의 정의

  • 클래스 == 데이터 + 함수

변수에서 발전 - 배열에서 발전 - 구조체에서 발전 - 클래스가 나옴

 

1. 변수 - 하나의 데이터를 저장할 수 있는 공간

2. 배열 - 같은 종류의 여러 데이터를 하나로 저장할 수 있는 공간

3. 구조체 - 서로 관련된 여러 데이터(종류 관계 X)를 하나로 저장할 수 있는 공간

4. 클래스 - 데이터와 함수의 결합(구조체 + 함수)

저작자표시 비영리 (새창열림)

'📝 끄적끄적 > 🖥️ 자바의 정석' 카테고리의 다른 글

[자바의 정석] 제어자, 캡슐화  (0) 2023.09.24
[자바의 정석] 상속, 참조변수 super, 생성자 super()  (0) 2023.09.23
[자바의 정석] 생성자, 변수/멤버 변수의 초기화  (0) 2023.09.22
[자바의 정석] static 메서드와 인스턴스 메서드, 오버로딩  (0) 2023.09.21
[자바의 정석] 기본형/참조형 매개변수, 참조형 반환타입  (0) 2023.09.20
[자바의 정석] 클래스 변수와 인스턴스 변수, 호출스택  (0) 2023.09.19
'📝 끄적끄적/🖥️ 자바의 정석' 카테고리의 다른 글
  • [자바의 정석] 생성자, 변수/멤버 변수의 초기화
  • [자바의 정석] static 메서드와 인스턴스 메서드, 오버로딩
  • [자바의 정석] 기본형/참조형 매개변수, 참조형 반환타입
  • [자바의 정석] 클래스 변수와 인스턴스 변수, 호출스택
현주먹
현주먹
끄적끄적 개발.log
  • 현주먹
    현주먹의 개발로그
    현주먹
  • 전체
    오늘
    어제
    • 전체글 (162)
      • 👶🏻 CS (15)
        • Operating System (8)
        • Database (4)
        • Data Structure (2)
        • Software Engineering (1)
      • 💻 Dev (54)
        • Java & OOP (24)
        • Spring (4)
        • JPA (5)
        • Test Code (1)
        • Database (1)
        • JSP & Servlet (13)
        • Etc (6)
      • 💡 Algorithm (25)
        • 인프런 (9)
        • 백준 (16)
      • 🛠 DevOps & Tool (11)
        • Linux (4)
        • AWS (1)
        • Git (2)
        • Etc (4)
      • 📝 끄적끄적 (57)
        • 후기 및 회고 (5)
        • TDD, 클린 코드 with Java 17기 (3)
        • F-Lab (23)
        • 🖥️ 자바의 정석 (11)
        • 📖 Clean Code (3)
        • 항해99 코테 스터디 (11)
  • 블로그 메뉴

    • 🐈‍⬛ GitHub
    • TIL
  • 인기 글

  • 태그

    오라클
    TDD 클린 코드 with Java
    자바의신절판
    에프랩 후기
    ==와 equals()
    데브클럽
    til
    항해99
    자바의정석
    C
    개발자멘토링
    jsp
    f-lab 후기
    개발자취업
    99클럽
    백준
    오블완
    F-Lab
    NextSTEP
    인프런 단어뒤집기
    PostGreSQL함수
    인프런 특정문자뒤집기
    코딩테스트준비
    에프랩
    로또 미션
    JPA
    객체지향
    백준10250
    코테스터디
    티스토리챌린지
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
현주먹
[자바의 정석] 클래스와 객체
상단으로

티스토리툴바