jamong5 2024. 1. 5. 17:58

2024.01.05 맥에 자바 환경 변수 설정

echo $SHELL #쉘 이름 확인. 나는 zsh
vi ~/.zshrc
export JAVA_HOME=경로
export PATH=$PATH:$JAVA_HOME/bin
source ~/.zshrc #설정 적용
echo $PATH
echo $JAVA_HOME

 

2024.01.07 자바 컴파일

javac file.class

 

2024.01.08 정확한 용어 알기, 문제 파악하기

정확한 용어로 표현하는 것 = 실무에서 명확한 소통을 할 수 있게함.

ex) connection timeout 이 발생했다 vs 이상한 응답이 왔다

문제를 (문제가 있다는걸) 파악하기, 문제 원인 추측하기, 구체적인 해결방안 혹은 원인 분석 방법 마련하기

 

2024.01.09 자바

(java는 파이썬만큼 친절하지 않다.)

‘’ : 문자 리터럴

“” : 문자열 리터럴

리터럴 (literal) : 소스코드의 고정된 값을 나타내는 표기법

 

객체가 특정 인터페이스에 속하는지 확인할 수 있음

human(객체) instanceof Walkable(인터페이스)

 

타입캐스팅 : (Runable) Human

 

클래스 디자인

public class Child extends Human implements Walkable, Runnable, Swimmable

Child Human 특성을 상속받는다. 거기에  Walkable, Runnable, Swimmable 행동을 추가로 있다는걸 인터페이스를 붙여서 표현했음.

 

2024.01.12 자바

자바. 복잡하다. 객체지향언어란 이런것이다! 라는 걸 느껴봐야할것같다.. 유명한 자바 강의를 찾아봐야할지..

targetSet.removeAll(removeList); // 가능
  • 스택 : 웹브라우저 앞뒤페이지 이동하기 (Redo Undo)
  • Java Collection Stack, Queue, Deque 에서 exception throws 그냥 null 반환으로 메서드가 분리되어서 구현되어있음. ex) queue : poll, offer

 

2024.01.14 자바

  • 변수의 타입은 int 지만 제네릭스 지정은 Integer 이다.
  • 콜렉션 스트림의 reduce는 왜 reduce? stream을 하나의 값으로 줄이는 느낌이라 reduce
    • stream.reduce(초기값, (prev, next) -> prev 와 next 를 적절히 조합한 하나의 return값);
  • 자바 regex로 문자열 비교
String.matches(regex)
  • 정규식 Regular Expression (regex) 와일드카드
    • . : 하나의 문자
    • .* : 모든 문자열