TIL 23.08.01

ν™©μ€ν•˜Β·2023λ…„ 8μ›” 1일
0

TIL

λͺ©λ‘ 보기
52/146

πŸ“ŒToday I Learned

Git μ„€μ •

git remote url이 이전 κΉƒν—ˆλΈŒ μ£Όμ†Œλ‘œ μ—°κ²°λ˜μ–΄ μžˆμ–΄ ν˜„μž¬ μ£Όμ†Œλ‘œ λ³€κ²½ν–ˆλ‹€.

$ git remote set-url origin μ£Όμ†Œ


Java μˆ˜μ—…

β—ˆEx40, 41 Class

클래슀 멀버 λ³€μˆ˜λ‘œ 클래슀λ₯Ό 지정할 수 μžˆλ‹€. μ΄λŠ” 클래슀 κ°„μ˜ 관계λ₯Ό λΆ€μ—¬ν•  수 μžˆλ‹€.

[index] : μΈλ±μ„œ(Indexer) - ν‘œκΈ°λ²•
ex) pcase.getPencil()[i] = p1;
ν•˜μ§€λ§Œ ν•΄λ‹Ή λ©”μ†Œλ“œκ°€ λΆˆλŸ¬μ˜€λŠ” 값을 λͺ…ν™•ν•˜κ²Œ 보기 μ–΄λ ΅λ‹€.


β—ˆEx42, 43 Constructor

μƒμ„±μž, Constructor

  • (νŠΉμˆ˜ν•œ λͺ©μ μ„ 가지고 μžˆλŠ”) λ©”μ†Œλ“œ
  • 멀버λ₯Ό μ΄ˆκΈ°ν™”ν•˜λŠ” μ—­ν• 

μžλ£Œν˜• λ³€μˆ˜λͺ… = new μƒμ„±μž();
ex) Box box = new Box();

μƒμ„±μžμ˜ μ—­ν• 

  • 멀버λ₯Ό μ΄ˆκΈ°ν™”ν•˜λŠ” μ „μš© λ©”μ†Œλ“œ
  • 방금 newκ°€ λ§Œλ“  κ°“ νƒœμ–΄λ‚œ 객체λ₯Ό μ΄ˆκΈ°ν™” ν•˜λŠ” μ—­ν• 

λͺ¨λ“  μ°Έμ‘°ν˜•(λ°°μ—΄ 포함)은 객체 생성 직후 μžλ™μœΌλ‘œ 멀버가 μ΄ˆκΈ°ν™”κ°€ λœλ‹€.

μƒμ„±μžλŠ” λ°˜λ“œμ‹œ new와 ν•¨κ»˜ μ‚¬μš©μ΄ κ°€λŠ₯ν•˜λ‹€. > μƒμ„±μžλŠ” 평생 λ”± 1번만 호좜이 κ°€λŠ₯ν•˜λ‹€.

  1. new > 객체 생성 μ—°μ‚°μž > 객체λ₯Ό μƒμ„±ν•œλ‹€.
  2. Cup()
    ex) Cup c1 = new Cup();

μ»΄νŒŒμΌλŸ¬κ°€ μžλ™μœΌλ‘œ μƒμ„±ν•œλ‹€. > κΈ°λ³Έ(default) μƒμ„±μž
κ°œλ°œμžκ°€ 직접 μƒμ„±μžλ₯Ό κ΅¬ν˜„ν•˜λ©΄, μ»΄νŒŒμΌλŸ¬λŠ” μƒμ„±μžλ₯Ό μ•ˆ λ§Œλ“€μ–΄μ€€λ‹€.

  1. λ©”μ†Œλ“œλͺ…이 클래슀λͺ…κ³Ό λ™μΌν•˜λ‹€. (λ°˜λ“œμ‹œ 일치) (μ€‘μš”)
  2. λ°˜ν™˜ν˜•μ΄ μƒλž΅λ˜μ–΄μžˆλ‹€. > λ°˜ν™˜κ°’μ„ κ°€μ§ˆ 수 μ—†λ‹€. > 무쑰건 void > μƒλž΅ (μ€‘μš”)
  3. κ΅¬ν˜„λΆ€ > 일반 λ©”μ†Œλ“œ

μƒμ„±μž(λ©”μ†Œλ“œ) μ˜€λ²„λ‘œλ”©μ΄ κ°€λŠ₯ν•˜λ‹€. μ΄λŠ” νŽΈμ˜μ„±μ„ ν–₯μƒμ‹œν‚¨λ‹€.

μƒμ„±μž vs Setter

  1. μƒμ„±μž > μ΄ˆκΈ°ν™” μ—­ν• 
  2. Setter > μ΄ˆκΈ°ν™” 이후 μˆ˜μ •ν•˜λŠ” μ—­ν• 

-> μˆ˜μ •μ΄ ν•„μš”ν•œ 경우 Setterλ₯Ό μ‚¬μš©ν•˜μ—¬ μΆ”κ°€ μˆ˜μ •μ„ μ§„ν–‰ν•˜λ©΄ λœλ‹€. μˆ˜μ •μ΄ ν•„μš” μ—†λ‹€λ©΄ Setterλ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šμ•„λ„ λœλ‹€.


β—ˆEx44 static

static ν‚€μ›Œλ“œ

ν΄λž˜μŠ€λ‚˜ 클래슀 멀버에 λΆ™μ΄λŠ” ν‚€μ›Œλ“œμ΄λ‹€. μ§€μ—­λ³€μˆ˜μ—λŠ” λͺ» 뢙인닀.
μΈμŠ€ν„΄μŠ€κ°€ μƒμ„±λ˜μ–΄λ„ 클래슀 λ§ˆλ‹€ κ³΅ν†΅μœΌλ‘œ κ°€μ§ˆ 값이 μžˆμ„ κ²½μš°μ— μ§€μ •ν•œλ‹€.
static ν‚€μ›Œλ“œκ°€ μžˆμ„ λ•Œμ™€ 없을 λ•Œ μž‘μ„±ν•˜λŠ” 방법이 쑰금 λ‹€λ₯΄λ‹€.

class Student {

	//객체 λ³€μˆ˜
	private String name;
	private int age;
	
	//정적 λ³€μˆ˜, 클래슀 λ³€μˆ˜, 곡용 λ³€μˆ˜
	private static String school;
//	static private String school; // 이것도 κ°€λŠ₯. 근데 μœ„μ—λ₯Ό 더 μ“΄λ‹€.

	// static이 없을 λ•Œ
//	public String getSchool() {
//		return school;
//	}
//
//	public void setSchool(String school) {
//		this.school = school;
//	}

	// static이 μžˆμ„ λ•Œ
	public static String getSchool() {
		return school;
	}

	public static void setSchool(String school) {
		Student.school = school;
	}
}
  1. 클래슀 λ‘œλ”©, Class Loading
  • ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰ν•˜κΈ° 전에 클래슀의 μ •μ˜λ₯Ό 미리 μ½λŠ” μž‘μ—…
  • 클래슀의 μ •μ˜λ₯Ό λ©”λͺ¨λ¦¬μ— μ–ΉλŠ” μž‘μ—…
  • 클래슀 λ‘œλ”© κ³Όμ •μ—μ„œ λͺ¨λ“  static ν‚€μ›Œλ“œ 인식 > λ©”λͺ¨λ¦¬μ— 싀체화(κ΅¬ν˜„)
  1. main() μ‹€ν–‰

문제 풀이

95~99번 문제λ₯Ό ν’€μ—ˆλ‹€. 문제λ₯Ό ν’€ λ•Œ ν•œκΈ€μ΄λ‚˜ μ˜μ–΄, 숫자 λ“±μ˜ μœ νš¨μ„± 검사가 λ―Έν‘ν•˜μ—¬ μˆ˜μ •ν•˜κ³  λ‹€μ‹œ ν’€μ—ˆλ‹€. μ„ μƒλ‹˜μ˜ μ½”λ“œλ₯Ό λ³΄λ©΄μ„œ 쒋은 μ½”λ“œλŠ” λ³΅μŠ΅ν•˜κ³  직접 μ μš©ν•΄λ³΄μ•˜λ‹€.

μ½”λ“œ 리뷰

μ§€λ‚œ μ‹œκ°„μ— λ‚΄μ€€ 클래슀 λ¬Έμ œλ“€κ³Ό λ°°μ—΄, λ¬Έμžμ—΄ λ¬Έμ œλ“€ μ€‘μ—μ„œ μ–΄λ €μš΄ λ¬Έμ œλ“€μ„ 골라 μ½”λ“œ 리뷰λ₯Ό μ§„ν–‰ν–ˆλ‹€. λ‚˜λŠ” 92번과 78번 문제λ₯Ό μ§„ν–‰ν–ˆλ‹€.

κ°•μ˜

μ›Œν¬λ„· μ‚¬μ΄λ²„μ§„λ‘œκ΅μœ‘μ„Όν„°μ—μ„œ λ©΄μ ‘μ „ν˜• κ°•μ˜λ₯Ό μˆ˜κ°•ν–ˆλ‹€.

profile
μ°¨κ·Όμ°¨κ·Ό ν•˜λ‚˜μ”©

0개의 λŒ“κΈ€