[TodayKeywords] 오늘 공부한 키워드
- call by value : 인자로 넘어온 값을 복사하여, 새로운 주소를 가진 지역변수로 사용하는것. 데이터 원본에 영향을 주지않음.
- call by reference : 인자로 넘어온 주소값을 참조하여, 기존의 값에 영향을 주는 것. 데이터 원본에 영향을 준다.
-
interface
- default method support : 자바 8부터 유지보수를 위해 인터페이스에도 몸통이 있는 기본메서드를 추가할 수 있게됨.
- 같은 이름을 가진 메소드가 있다면, 상속받는 클래스는 오버라이딩을 강제한다.
- public static final : 인터페이스 내에 선언되는 멤버변수에 암묵적으로 붙는다.
- public : 인터페이스 내에 선언되는 메서드에 암묵적으로 붙는다.
- has-a : 포함관계로 인터페이스는 이런 관계일 때 사용하면 된다.
- is-a : 상속관계로서 추상클래스는 이런 관계일 때 사용하면 된다.
- 상속되는 것이나 구현되는 클래스나 인스턴스는 그것을 상속받는 클래스에 의해 구현되는 것이다. 따라서, 상위개념이다.
- Casting : 명시적 형변환
- Promotion : 묵시적 형변환
- Dynamic dispatch : 참조변수형을 부모로 선언하고, 자식을 인스턴스로 선언했을 경우, 선언한 인스턴스의 오버라이딩된 메서드를 런타임에 동적으로 찾아가는 것.
- Functional interface : 인터페이스에 하나의 메서드만 사용된 형태. 2개이상 바로 에러발생함.
@FunctionalInterface
키워드 사용 - 람다 : 익명객체, Functional instance를 이용하여 구현가능함.
- 스트림 : 배열에서 흐름을 만들어내어 처리하는 것. 여러개의 중개연산과 1개의 종료연산으로 구성되며, 원본데이터를 변환시키지 않는다. 1개의 스트림은 종료되면, 더이상 생성되지 않는다. 스트림을 너무 많이 연결하면, 중간에 NPE가 발생할 경우 발생위치를 찾기 어려워진다. 따라서, 사용에 주의해야한다.
- Null Point Exception : null 내부에 메서드가 없는데, 그것을 사용하려고 할 때 발생시키는 오류. null은 의미하는바가 매우 모호하기 때문에, 다양한 파생에러를 발생시킬 수 있으며, 따라서 null을 return 하지않는다.
- Optional : Java 8 부터 적용된 null을 제어 할 수 있는 객체. 인자로 들어온 값이 null 일 때 다른 값을 리턴하거나, exception 을 동작시키는 등의 처리가 가능하다. 주로, 메소드 리턴타입으로 사용된다.
[NextKeyworks] Study Queue
- HTTPS
- SOLID
- loop label
- CSV
- 파일입출력
- UML
- UTC
- epoch time / Instant time
- MVC
- URL ClassLoader
- Secure ClassLoader
- JNI
- GC
- HOF
- 자바 해시코드
[회고] 221201 : 경청하는 연습. 필요한것만 말하는 연습
뱉고나서 후회하는 경우가 많다. 도움이 필요하지 않은 상대에게 원치않는 도움을 주려고 하는것은, 나에게는 선의겠지만 다른사람에겐 부담일 수 있다.
말은 중요하다. 뱉으면 주워담기 힘들다. 따라서, 도움을 줄 때, 많은 것을 생각하고 도움을 줘야한다. 또, 내가 상대를 존중하지 않는 언어를 사용했는지, 기분을 상하게 하진 않았는지, 내 말이 나에게 도움이 되는것인지 상대방에게 진정으로 도움을 주는 것인지 생각하고 뱉어야한다.
상대방이 나에게 도움을 요청하지 않았다고 서운해 할 필요는 없다. 그것은 그 상대가 성장하고 있는 증거이다. 또한, 나는 누군가에게 도움을 줄 만한 정도가 아니란것을 스스로 자각하며, 항상 겸손하게 생각해야한다.
필요한 것만 말하고, 상대방이 필요한 것이 무엇인지 정확히 알기위해, 말을 끊지 않고 경청하는 습관을 들여야한다.
함께 일하고 싶은 사람이 되자!