일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- LightWeight Migration
- CoreData Concurrency
- leetcode #01
- 다익스트라 이해
- NSPredicates
- NSManagedObject SubClass
- 2022 부스트캠프
- 트레일링 클로저
- Raw value and Associated value
- 스위프트 클로저
- Java
- NSSortDescriptor
- expensive operation
- Swift closure
- Swift
- CoreData Filter
- CoreData
- Persistent store Coordinator
- 일급 객체
- Swift LinkedList
- 1009번
- CoreData Stack
- Clean swift
- dateFormatter
- Swift 고차함수
- iOS Static Library
- Associated Value
- iOS Static Library 사용하는방법
- persistentStoreCoordinator
- codability
- Today
- Total
하루를살자
Class vs Object vs Instance 그리고 생성자 (Constructor) 예제 본문
Class vs Object vs Instance
-클래스 (Class)
1. 객체를 만들어 내기 위한 설계도 혹은 툴
2. 연관되어 있는 변수와 메서드의 집합
- 객체 (Object)
1. 소프트웨어 세계에 구현할 대상
2. 클래스에 선언된 모양 그대로 생선된 실체
특징
--> '클래스의 인스턴스(Instance)' 라고 부른다.
--> 객체는 모든 인스턴스를 대표하는 포괄적인 의미를 갖는다.
--> Object Oriented Programming (OOP) 의 관전에서 클래스 의 타입으로 선언되었을때 "객체" 라고 부른다.
- 인스턴스 (Instance)
1. 설계도를 바탕으로 소프트웨어 세계에 구현된 구체적인 실체
-> 즉, 객체를 소프트웨어에 실체화 하면 그것을 '인스턴스' 라고함.
-> 실체화된 인스턴스는 메모리에 할당됨.
특징
--> 인스턴스 는 객체에 포함된다고 볼 수 있다.
--> oop 의 관점에서 객체가 메모리에 할당되어 실제 사용될때 '인스턴스' 라고 부른다.
--> 추상적인 개념(또는 명세) 과 구체적인 객체 사이의 관계 에 초점을 맞출 경우에 사용한다.
- 소스파일 명과 class 선언
1. Class 명은 파일명 과 대소문자가 동일해야한다.
2. public class filename {} 의 source file 이름은 filename 과 같다.
3. 하나의 source file 안에는 오로지 단 하나의 public class 가 존재 해야 하고, 많은 class 들을 하나의 source file 에 넣고 싶다면 public 을 생략한 class 를 써주어야 컴파일 에러가 안 난다.
이는 컴파일을 할 때, Java 컴파일러가 소스 코드에 적힌 클래스 명과 동일한 파일명 을 찾게 되는데, 이름이 다를 시, 에러가 나기 때문이다.
- 생성자 (Constructor)
Constructor 는 객체 를 초기화 하기위한 Java 의 특별한 방법이다. 생성자는 클래스의 객체가 생성될때 쓰이고, 그 객체 속성 초기값을 설정해 주는데 사용가능하다.
특징
--> Return 형을 명시 하지않음
--> Class 명과 같은 이름이다
--> Overloading 이 가능하다
--> Parameter 가 존재하면 파라미터로 멤버 변수의 값을 초기화 한다
--> 생서자를 선언하지 않으면 컴파일러에서 자동으로 기본 생성자 (Default Constructor) 를 생성한다.
Student.java (Student 라는 이름을 가진 Class)
public class Student {
String subject;
int stduent_num;
public Student(){
subject = "Initial";
stduent_num = 12345678;
}
}
학생은 subject 과 student_num 이라는 속성 두가지를 가지고있다. 여기서 public Student() 는 기본 생성자, 전달인자 (Parameter) 가 아무것도 없는 형식으로, 아래와 같이 Student 클래스를 Instance 시킬시 각 속성이 기본적으로 초기에 갖는 값을 지정해줄수있다.
Test1.java (Student 를 객체화 시키고 초기값이 잘 적용되어있나 확인)
public class test1 {
public static void main(String[] args) {
Student s = new Student();
System.out.println(s.stduent_num+s.subject);
}
}
Output
Reference
- https://gmlwjd9405.github.io/2018/09/17/class-object-instance.html
- https://www.w3schools.com/java/java_constructors.asp
- https://velog.io/@lzhxxn/JAVA-%EC%83%9D%EC%84%B1%EC%9E%90Constructor-gettersetter%EC%97%90-%EB%8C%80%ED%95%B4%EC%84%9C
'Java' 카테고리의 다른 글
생성자 (Constructor) 와 Getter, Setter (0) | 2021.11.30 |
---|---|
JAVA(자바) Windows / VSCODE 에 세팅하기 (0) | 2021.11.19 |