클래스와 친구들

cutiepazzipozzi·2023년 3월 7일
1

지식스택

목록 보기
3/35
post-thumbnail


그림이 발로 그린거라 좀 괴랄하지만 항상 생각하면 글로 쭉 읽는것보다 그림으로 가볍게 이 사이의 관계들을 파악하는게 좋을 거 같아서 그림부터 올려본다!

클래스 (〓객체 생성을 위한 설계도)

(ex. 건물(객체)을 짓기 위한 설계도(클래스))
설계도가 적절한 표현이다. 객체를 정의하고 만들어 내기 위한 틀이다.

필드(객체의 데이터 저장)/생성자(생성시 초기화)/메서드로 구성(실행)

  • 프로퍼티
    클래스 내부의 변수
    (필드라고도 부르는데 이 프로퍼티의 실체가 담기는 곳을 필드라고 한다 카더라!)
  • 메서드
    클래스 내부의 함수
public class Student {
	String name; //프로퍼티
    int age; //프로퍼티
    
    //생성자
    public Student(String name, int age) {
    	this.name = name;
        this.age = age;
    }
    
    //메서드
    public void print() {
    	System.out.println("저는 학생이에용");
    }
}
  • 생성자 대신 정적 팩토리 메서드를 고려하라는 말이 있는데 이는 나중 포스팅에서 작성할 것임!

인스턴스

new 연산자를 활용해 클래스로 생성하고자 하는 객체의 실체 를 생성
= 현실의 객체를 SW 내에서 구현한 실체 (따라서 독립적으로 존재함)

Student student1 = new Student();

(new 연산자는 메모리에 데이터를 저장할 공간을 할당받고 참조값을 객체에게 반환해줌)

객체

클래스를 통해 구현되어야 할 대상

  • 자신의 속성을 가지고 있고 다른 것과 식별 가능한 것(물리적/추상적 모두)
  • 인스턴스 생성 후 프로퍼티, 메서드 사용

보통은 인스턴스와 객체를 비슷하게(?) 여긴다.
그러나 엄밀히 따지면 인스턴스 ⊂ 객체

참고

https://codybuilder.com/17
https://computer-science-student.tistory.com/319

profile
노션에서 자라는 중 (●'◡'●)

1개의 댓글

comment-user-thumbnail
2023년 3월 8일

잘 읽고 갑니다!!

답글 달기