학습 기록 (Learning Logs)/java (7) 썸네일형 리스트형 시간복잡도 Array List - interface 추상화DI f ArrayList배열이랑 같음앞, 중간 데이터 추가/삭제 성능 구림 O(N)따라서 앞, 중간 데이터 추가 많으면 linkedList grow 중간 add Object -> 제네릭으로 변경단점: 한 변수에 타입이 Object라 타입이 변경되도 들어감, 데이터 타입이 통일이 안됨 LinkedListarrayList의 공간 낭비 해결처음/중간 추가/삭제 빠르게 해결 제네릭 적용 Primitive 타입과 Reference 타입의 차이점 Primitive 타입과 Reference 타입의 차이점은 무엇이 있고, 이에 대한 예시를 들어 설명해주세요. 혹시 어떤 상황에서는 Primitive 타입을 사용해야 하는지도 알려주세요. Primitive 타입과 Reference 타입은 자바에서 데이터를 저장하고 처리하는 두가지 기본 방식이다. 1. 저장Primitive 타입: 데이터는 스택 메모리에 직접 값을 저장Reference 타입: 데이터는 힙 메모리에 객체를 저장, 스택메모리에는 그 객체를 가리키는 주소 값을 저장 2. 타입Primitive 타입: int, float, double, boolean, char, byte, short, long이들은 기본적인 데이터를 표현한다.int age = 30;double salary = 4550.50;bo.. 클린코드 1~4장 1장 깨끗한 코드 코드 존재 코드는 요구사항을 상세히 표현하는 수단이다 코드는 기계가 이해하고 실행할 정도로 정확하고 상세하고 정형화 되어야한다 나쁜 코드 나중은 결코 오지 않는다 이전 버전에 있던 버그가 다음 버전에도 그대로 남아 있었다 프로그램이 죽는 횟수도 늘어났다 매번 얽히고설킨 코드를 해독해서 얽히고설킨 코드를 더한다 나쁜 코드가 쌓일수록 생산성은 떨어진다 나쁜 코드로 치르는 대가 재설계를 꿈꾸다 태도 나쁜 코드의 위험성을 잘 모르는 관리자. 그런 관리자의 말을 그대로 따르는 행동은 전문가 답지 못하다 원초적 난제 기한을 맞추려면, 집에 빨리가려면 나쁜 코드를 양산한다. 그러나 틀렸다. 나쁜 코드로 인해 늦어지고 기한도 놓친다. 기한을 맞추고, 빨리가려면 언제나 코드를 깨끗하게 유지하는 습관 깨.. 클린코드 10장 클래스 10장 클래스 클래스 체계 캡슐화 클래스는 작아야지 단일 책임 원칙 응집도 응집도를 유지하면 작은 클래스 여럿이 나온다 변경하기 쉬운 클래스 변경으로부터 격리 클린코드 9장 단위테스트 9장 단위테스트 TDD 법칙 꺠끗한 테스트 코드 유지 유연성 유지보수성 재사용성 깨끗한 테스트 코드 도메인에 특화된 테스트 언어 이중 표준 테스트 1개 -> assert 1개 테스트 당 개념 하나 F I R S T 클린코드 8장 경계 8장 경계 외부 코드 사용 경계 살피기, 익히기 log4j 학습 테스트 아직 존재하지 않는 코드 사용 깨끗한 경계 chap04 선택제어문 (if, switch), 반복제어문 (for, while, dowhile), 제어키워드(break, continue) [Chap04] - 01 (이론) 제어문의 개요 및 선택제어문 (if, switch) [Chap04] - 02 (이론) 반복제어문 (for, while, dowhile) for while [Chap04] - 03 (이론) 제어키워드(break, continue) 이전 1 다음