Study
-
아이템9. try-finally보다는 try-with-resources를 사용하라Study/Effective Java 2023. 5. 6. 18:56
📍상황 자바 라이브러리에는 close 메서드를 호출해 직접 닫아줘야 하는 자원이 존재함 ex) InputStream, OutputStream, java.sql.Connection 이러한 자원 닫기는 클라이언트가 놓치기 쉬워 예측할 수 없는 성능 문제로 이어지기도 함 그렇다면 꼭 회수해야 하는 자원을 다룰 때는 어떻게 해야할까? 📍방법 1) try-finally 전통적으로 자원이 제대로 닫힘을 보장하는 수단 코드 9-1 try-finally - 더 이상 자원을 회수하는 최선의 방책이 아님 public class BadBufferedReader extends BufferedReader { public BadBufferedReader(Reader in, int sz) { super(in, sz); } publ..
-
제네릭 Item 26 - 로 타입은 사용하지 말라Study/Effective Java 2022. 1. 29. 23:18
*Tistory에 내용을 통합하기 위해 velog에 작성했던 내용을 첨부하였음 https://velog.io/@fordevelop/%EC%A0%9C%EB%84%A4%EB%A6%AD-Item-26-%EB%A1%9C-%ED%83%80%EC%9E%85%EC%9D%80-%EC%82%AC%EC%9A%A9%ED%95%98%EC%A7%80-%EB%A7%90%EB%9D%BC [Effective Java] 제네릭 Item 26 - 로 타입은 사용하지 말라 참고) 이펙티브 자바 3/E velog.io
-
3장 함수Study/CleanCode 2021. 7. 1. 16:51
명령과 조회를 분리하라! 함수는 뭔가를 수행하거나 뭔가에 답하거나 둘 중 하나를 수행하도록 해야 함 -> 객체 상태 변경하거나 아니면 객체 정보 반환하거나 둘 중 하나 [예시] 문제) 수행 내용이 명확하지 않은 함수(명령과 조회를 하나의 함수에서 수행함) public boolean set(String attribute, String value); -> 주어진 함수는 이름이 attribute인 속성을 찾아 값을 value로 설정한 후 성공하면 true를 반환함 if(set("username", "fordevelop")) . . . -> 실제 사용 시 코드를 보면, 'username이 fordevelop으로 설정되어 있는지 확인하는 코드인지' or 'username을 fordevelop으로 설정하는 코드인지..