내일배움캠프 9일차 TIL - 클래스(Class)

2024. 4. 25. 20:37·⛺스파르타코딩클럽

240425

# 오늘 꼭 기억 해야 할 것!

1. 상속과 다형성의 개념

2. 알고리즘의 중요성..

오늘의 학습 

    ●  1. 인스턴스 & 객체

    ●  2. 클래스의 구성 요소

    ●  3. this 키워드

    ●  4. 생성자

# 인스턴스 & 객체 뭐가 맞는 표현인가

객체는 클래스와 인스턴스를 가리키는 일반적인 용어이다. 즉, 객체는 메모리에 할당이 안된 상태(자바 실행전)또는 실행 후 메모리에 올라간 상태 두 가지를 객체라고 부를 수 있다.  인스턴스는 객체가 메모리에 할당되어 동작하는 상태를 강조한 용어이다. 정리해보면 큰 범위로 객체는 인스턴스를 포함하고 있다는 말이다.

1. 클래스의 구성 요소

클래스의 구성으로는 "인스턴스 멤버", "생성자"가 존재한다.

인스턴스 멤버의 구성으로는 인스턴스 필드, 인스턴스 메서드가 존재한다.

아래의 예시를 보고 이해를 해보자!

public class Car {
// 인스턴스 멤버 => 필드와 메서드를 포함하고 있는 용어이다.
    // 인스턴스 필드
    private String model; // 자동차 모델
    private String color; // 자동차 색상
    private double price; // 자동차 가격
    
    public Car(){} // 생성자
    
// 인스턴스 멤버 => 필드와 메서드를 포함하고 있는 용어이다.
    // 인스턴스 메서드
    public void setModel(model) {
        this.model = model;
    }
    public String getModel() {
    	return this.mode;
    }

예시 코드와 같이 작게보면 필드영역, 메서드영역, 생성자영역 3가지로 나뉜다는걸 알 수 있다.

2. this 키워드

this는 나 자신을 가리키고 있는 키워드이다.

즉, Car의 자기 자신을 가리키고 있고 this를 통해 자기 자신의 필드의 인스턴스 필드에 존재하는

인스턴스 변수(멤버변수)의 값을 넣거나 빼올수가 있다. (위의 코드를 확인해 보자)

 

3. 생성자 

클래스에 생성자를 선언 즉, 만들지 않아도 자동으로 만들어지게 된다. 그렇지만 매개변수가 존재하는 생성자를 만들 경우

기본 생성자가 날라가게 된다. 이걸 잘 알고 사용해야한다.

생성자는 다른 객체에서 해당 객체를 참조할 때 사용하는 new키워드에 의해서 호출이 된다. 즉, new 키워드로 객체가

인스턴스화를 하면서 생성자를 호출하게 되는 것이다.

public class Car {
    private String model; 
    private String color; 
    private double price; 
    
    public Car(){} // 생성자 없어도 자동으로 만들어져 있음.
    
    public void setModel(model) {
        this.model = model;
    }
    public String getModel() {
    	return this.mode;
    }

public class Main {
	public static void main(String[] args){
    	Car car = new Car();
    }
}

코드 예시와 같이 Car() 생성자를 호출하는 모습이다. ( 생성자도 결국엔 메서드와 비슷한 부류인 것이다.)

 

# 오늘의 회고

과제하느라 정신없어서 TIL을 제대로 쓰질 못해서 아쉽다... 오늘은 3주차 강의를 다 끝냈고 내일은 4주차 강의를 전부 다

들을 생각이다. 상속과 다형성의 개념이 좀 처럼 쉽게 잡히질 않았고 과제 또한 직접 못풀고 결국 정답을 보게되었다.

그치만 점점 배우면서 아는게 많아지는것을 느끼고 점점 성장하는 걸 느끼고 있다. ( 좀만 더 열심히 하자. )

알고리즘이 중요하다는걸 많이 들어서 내일부터는 알고리즘하고 같이 공부를 해야겠다.

'⛺스파르타코딩클럽' 카테고리의 다른 글

내일배움캠프 11일차 TIL - 과제(Calculator)  (1) 2024.04.30
내일배움캠프 10일차 TIL - 예외(Exception)  (2) 2024.04.25
내일배움캠프 8일차 TIL - 컬렉션(Collection)  (1) 2024.04.24
내일배움캠프 7일차 TIL - 배열(Array)  (0) 2024.04.23
내일배움캠프 6일차 TIL - 변수(Variable)  (1) 2024.04.22
'⛺스파르타코딩클럽' 카테고리의 다른 글
  • 내일배움캠프 11일차 TIL - 과제(Calculator)
  • 내일배움캠프 10일차 TIL - 예외(Exception)
  • 내일배움캠프 8일차 TIL - 컬렉션(Collection)
  • 내일배움캠프 7일차 TIL - 배열(Array)
junbin2
junbin2
java.lang.NullPointerException
  • junbin2
    bin's Development Diary
    junbin2
  • 전체
    오늘
    어제
    • 전체보기 (181)
      • 🎓방송통신대학교 (41)
        • ⚙️컴퓨터의 이해 (11)
        • 💻컴퓨터과학 개론 (9)
        • 🔢자료구조 (6)
        • 🌍유비쿼터스 컴퓨팅 (11)
        • 🏛️세계의정치와경제 (3)
        • 🖥️컴퓨터과학과 (1)
      • 🛠️Backend (64)
        • 📚백엔드 공부 (4)
        • ☕Java (23)
        • 🌳Spring (13)
        • ⚙️C (8)
        • ⚡Python (13)
        • JavaScript (1)
        • 🛢️Database (0)
        • Algorithm Problem Solving (2)
      • 🌐 Network (7)
        • 📜HTTP (7)
      • 🚀DevOps (1)
      • ⛺스파르타코딩클럽 (64)
      • 정보 (2)
      • 정리가 필요한 글 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    C
    spring
    방통대
    배열
    유비쿼터스
    Java
    함수
    Spring Framework
    방송대
    유비쿼터스 컴퓨팅개론
    C언어
    입출력
    C 언어
    Python
    파이썬
    방송통신대학교
    자료구조
    자바
    컴퓨터과학 개론
    컴퓨터의 이해
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
junbin2
내일배움캠프 9일차 TIL - 클래스(Class)
상단으로

티스토리툴바