
🖨 자바에서의 객체 복사자바에서의 객체 복사는 얕은 복사와 깊은 복사가 존재한다. 둘의 차이를 알아보자사용할 예제는 다음과 같다. import java.util.Objects;class Book { private String name; // 책 이름 private Author author; // 저자 public Book(String name, Author author) { this.name = name; this.author = author; } public Book shallowCopy() { // 얕은 복사 return new Book(this.name, this.author); } public Book deepCopy() { // 깊은 복사 Author copiedAuthor = new ..

Guitar 클래스가 Instrument 클래스를 상속받는 상황을 가정해보자. public class Instrument { public void play() { System.out.println("악기를 연주합니다."); } } public class Guitar extends Instrument { @Override public void play() { System.out.println("기타를 연주합니다!"); } } 그리고 Guitar 객체를 생성한다. public class InheritanceMain { public static void main(String[] args) { Guitar guitar = new Guitar(); guitar.play(); } } 이 때 Guitar 객체가 참조..
자바의 main 메소드는 static이 붙은 정적 메소드이다. public static void main(String[] args) {...} 왜 main 메소드에 static이 붙었을까? ⛏ static 메소드 static 메소드는 정적 메소드, 클래스 메소드라고도 하는데 객체 생성 없이 클래스로부터 바로 호출이 가능하다. 유틸리티성 메소드에 자주 사용된다. static 메소드는 메소드 영역에 존재하며 클래스로 접근하여 사용할 수 있다. public class StaticMethodMain { public static void main(String[] args) { int a = 30; // 클래스로 바로 접근 int result = StaticMethod.calculate(a); System.out...
⛏ 생성자 생성자는 객체 생성 직후 객체에 초기값을 할당하는 메소드이다. 특징 1. 생성자 이름은 클래스 이름과 동일해야 한다. 2. 생성자는 반환 타입을 가지지 않는다. class Member { String name; int age; // 생성자(constructor) Member(String name, int age) { this.name = name; this.age = age; } } 생성자는 인스턴스를 생성한 후 즉시 호출된다. 즉, new 키워드를 통해 인스턴스를 생성한 후 즉시 생성자가 호출되어 객체에 초기값을 할당한다. Member member = new Member("dragon", 20); 왜 쓰나? 객체에 값을 넣어주는 메소드를 만드는 대신 생성자를 사용하는 이유가 무엇일까? 1. ..
- Total
- Today
- Yesterday
- upperBound
- NPE
- Optional
- 백준
- 생성자
- Java
- Spring
- 오블완
- uncheckedException
- StreamAPI
- 자바
- 이진탐색
- springboot
- id생성전략
- Thymeleaf
- JPA
- checkedException
- @Spring
- ddl-auto
- lowerBound
- @NoArgsConstructor
- @Value
- 메인메소드
- 티스토리챌린지
- N+1문제
- null
- 유효성 검사
- 일급컬렉션
- @ConfigurationProperties
- 동등성
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |