Java

Java

스터디할래 12주차 과제: 애노테이션

목표 자바의 애노테이션에 대해 학습하세요. 학습할 것 (필수) 애노테이션 정의하는 방법 @retention @target @documented 애노테이션 프로세서 애노테이션 정의하는 방법 애노테이션이란? 애노테이션의 사전적 의미는 주석, 메모라는 뜻이다. 자바를 개발한 사람들은 소스코드에 대한 문서를 따로 만들기보다 소스코드를 하나의 파일로 관리하는 것이 낫다고 생각했다. 그래서 소스코드의 주석 /** ~ */에 소스코드에 대한 정보를 저장하고, 소스코드의 주석으로부터 HTML 문서를 생성해내는 프로그램(javadoc.exe)을 만들어서 사용했다. 애노테이션은 주석(comment)처럼 프로그래밍 언어에 영향을 미치지 않으면서도 다른 프로그램에게 유용한 정보를 제공할 수 있다는 장점이 있다. 애노테이션 만..

Java

스터디 할래 12주차 과제: 애노테이션(피드백, feedback)

📖 책 추천 아웃라이어 부의 추월차선 애노테이션은 주석이다. 완전 주석과 같지 않지만 실행되는 코드라고 생각하면 안된다. 애노테이션은 정적인 값으로 밖에 못쓴다. 아래 코드는 동적이므로 에러 발생 정적으로 바뀌니 에러 해소 RetentionPolicy의 3가지 SOURCE -> CLASS -> RUNTIME SOURCE : 소스코드에만 유지, 컴파일하고 나면 애노테이션에 대한 정보가 없어진다. (바이트코드에 남아있지 않는다) CLASS : 애노테이션에 대한 정보를 바이트코드에도 남겨 놓겠다. (.class파일에도 남겨 놓겠다.) 바이트 버디를 사용하면 class파일의 바이트코드를 추출해서 리플렉션이 사용 가능하다 RUNTIME : RUNTIME까지 유지하겠다. (리플렉션이 가능해진다. -> RUNTIME..

Java

스터디할래 11주차 과제: Enum(feedback, 피드백)

📖 책 추천 토비의 스프링3 Type Safety Fruit.APPLE == Company.APPLE이 true가 나오는 문제가 발생한다. 아래 예제에서 int타입, 값도 같은 경우라면 true가 돼버린다. enum을 사용했다면 true가 나오지 않을 수 있었다. Enum을 이용하면 type safety를 보장 컴파일 타임에서 체크한다. JPA에서 @Enumerated(EnumType.ORDINAL)을 사용하면 안 되는 이유 ORDINAL : 0,1,2.. 순서로 저장(사용하면 안 된다, enum정보가 변경돼도 기존 정보가 업데이트되지 않는다) STRING : enum 이름으로 저장 💡 꿀팁 : 정렬 순번을 매길 때 1,2,3으로 하지 않고 10 단위로 잘라서 10,20,30으로 하는 이유 나중에 중간에..

Java

11주차 과제: Enum

목표 자바의 열거형에 대해 학습하세요. 학습할 것 (필수) enum 정의하는 방법 enum이 제공하는 메소드 (values()와 valueOf()) java.lang.Enum EnumSet 마감일시 2021년 1월 30일 토요일 오후 1시까지. enum 정의하는 방법 열거형(enum)은 자바5부터 새로 추가되었다. 자바의 열거형은 C언어의 열거형과는 달리 타입까지 관리하기 때문에 보다 논리적인 오류를 줄일 수 있다. 예를 들어 C언어에서는 타입이 달라도 값이 같으면 조건식에서 참(true)였으나, 자바의 타입에 안전한 열거형(typesafe enum)에서는 실제 값이 같아도 타입이 다르면 조건식의 결과가 false가 된다. 이처럼 값뿐만 아니라 타입까지 체크하기 때문에 타입에 안전하다고 하는 것이다. 더..

Java

스터디할래 10주차 과제: 멀티쓰레드 프로그래밍 (feeback, 피드백)

책소개 📖 자바 병렬 프로그래밍 책추천 2 현업에서 쓰레드를 만들거나, Runnable을 구현하는 경우는 거의 없다. 실제 서버를 만들거나 하는 분들이나 보면 도움이 되지만 그래도 읽어보면 좋은책 쓰레드 상속하는 방법 Runnable을 익명내부 클래스로 사용하는 방법 ✌ 두가지 방법중 뭐를 쓸것인가? 메소드를 오버라이딩 할 필요가 있을경우 : 쓰레드 상속 아니면 Runnable인터페이스 구현 롬복 어노테이션 @SneakyThrows 📌 자바에서는 스레드를 종료시킬 수 없다. stop()은 deprecated되었다. 47초 걸리던 코드를 극한의 자원을 활용하여 시간 단축 ExecutorService CountDownLatch latch를 카운트다운 시키고 끝날떄까지 await시켜야 한다. 동시성(Concu..

향찡
'Java' 카테고리의 글 목록 (3 Page)