René's URL Explorer Experiment


Title: GitHub - Dev-Prison/Effective-Java: 이펙티브 자바 스터디 Repository

Open Graph Title: GitHub - Dev-Prison/Effective-Java: 이펙티브 자바 스터디 Repository

X Title: GitHub - Dev-Prison/Effective-Java: 이펙티브 자바 스터디 Repository

Description: 이펙티브 자바 스터디 Repository. Contribute to Dev-Prison/Effective-Java development by creating an account on GitHub.

Open Graph Description: 이펙티브 자바 스터디 Repository. Contribute to Dev-Prison/Effective-Java development by creating an account on GitHub.

X Description: 이펙티브 자바 스터디 Repository. Contribute to Dev-Prison/Effective-Java development by creating an account on GitHub.

Opengraph URL: https://github.com/Dev-Prison/Effective-Java

X: @github

direct link

Domain: patch-diff.githubusercontent.com

route-pattern/:user_id/:repository
route-controllerfiles
route-actiondisambiguate
fetch-noncev2:ffe4ff15-5b1e-d3df-1ff9-df0085426443
current-catalog-service-hashf3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb
request-idE1D6:216610:1A4BBC6:24DACAB:696F6FFB
html-safe-nonce3988793dda0f40acc2c2154998e0551313e525f8a981809463323fb51aa3278e
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFMUQ2OjIxNjYxMDoxQTRCQkM2OjI0REFDQUI6Njk2RjZGRkIiLCJ2aXNpdG9yX2lkIjoiNDYyNTEzMzM4NjcwNjQxNTYxMSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmaccd1c9906202850512ec7a8330ff21f3c570f9f170dda68bab4594b8c0222df0f
hovercard-subject-tagrepository:478376964
github-keyboard-shortcutsrepository,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location//
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/Dev-Prison/Effective-Java
twitter:imagehttps://opengraph.githubassets.com/1d0386fa0cc936fc0cb9646768109a4e45c68df4da88a5fe5fd5f41324d2b1e2/Dev-Prison/Effective-Java
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/1d0386fa0cc936fc0cb9646768109a4e45c68df4da88a5fe5fd5f41324d2b1e2/Dev-Prison/Effective-Java
og:image:alt이펙티브 자바 스터디 Repository. Contribute to Dev-Prison/Effective-Java development by creating an account on GitHub.
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Noneacc7f8c2e144976eeb6e7a73826049dd183bc572ccf5eaa9afb8265c617a97ab
turbo-cache-controlno-preview
go-importgithub.com/Dev-Prison/Effective-Java git https://github.com/Dev-Prison/Effective-Java.git
octolytics-dimension-user_id103087660
octolytics-dimension-user_loginDev-Prison
octolytics-dimension-repository_id478376964
octolytics-dimension-repository_nwoDev-Prison/Effective-Java
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id478376964
octolytics-dimension-repository_network_root_nwoDev-Prison/Effective-Java
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasecc546a224d6d4726a8d7c3a0dfe0cf65dbf9b7bd
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java#start-of-content
https://patch-diff.githubusercontent.com/
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2FDev-Prison%2FEffective-Java
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2FDev-Prison%2FEffective-Java
Sign up https://patch-diff.githubusercontent.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=Dev-Prison%2FEffective-Java
Reloadhttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java
Reloadhttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java
Reloadhttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java
Dev-Prison https://patch-diff.githubusercontent.com/Dev-Prison
Effective-Javahttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2FDev-Prison%2FEffective-Java
Fork 2 https://patch-diff.githubusercontent.com/login?return_to=%2FDev-Prison%2FEffective-Java
Star 14 https://patch-diff.githubusercontent.com/login?return_to=%2FDev-Prison%2FEffective-Java
14 stars https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/stargazers
2 forks https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/forks
Branches https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/branches
Tags https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/tags
Activity https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/activity
Star https://patch-diff.githubusercontent.com/login?return_to=%2FDev-Prison%2FEffective-Java
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2FDev-Prison%2FEffective-Java
Code https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java
Issues 0 https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/issues
Pull requests 0 https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/pulls
Actions https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/actions
Projects 0 https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/projects
Security Uh oh! There was an error while loading. Please reload this page. https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/security
Please reload this pagehttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java
Insights https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/pulse
Code https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java
Issues https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/issues
Pull requests https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/pulls
Actions https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/actions
Projects https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/projects
Security https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/security
Insights https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/pulse
Brancheshttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/branches
Tagshttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/tags
https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/branches
https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/tags
387 Commitshttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/commits/main/
https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/commits/main/
apphttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/tree/main/app
apphttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/tree/main/app
gradle/wrapperhttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/tree/main/gradle/wrapper
gradle/wrapperhttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/tree/main/gradle/wrapper
.gitattributeshttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/blob/main/.gitattributes
.gitattributeshttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/blob/main/.gitattributes
.gitignorehttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/blob/main/.gitignore
.gitignorehttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/blob/main/.gitignore
README.mdhttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/blob/main/README.md
README.mdhttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/blob/main/README.md
gradlewhttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/blob/main/gradlew
gradlewhttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/blob/main/gradlew
gradlew.bathttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/blob/main/gradlew.bat
gradlew.bathttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/blob/main/gradlew.bat
settings.gradlehttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/blob/main/settings.gradle
settings.gradlehttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/blob/main/settings.gradle
READMEhttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java
https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java#effective-java-이펙티브-자바
https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java#️-스터디-규칙
https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java#️-git-사용-방식
https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java#-스크럼-마스터가-해야할-일
https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java#-item-list
Item2 : 생성자에 매개변수가 많다면 빌더를 고려하자https://github.com/YHLEE9753/ReadingRecord/blob/master/%EC%9D%B4%ED%8E%99%ED%8B%B0%EB%B8%8C%EC%9E%90%EB%B0%94/Chapter2_%EA%B0%9D%EC%B2%B4%EC%83%9D%EC%84%B1%EA%B3%BC%ED%8C%8C%EA%B4%B4/Item2_%EC%83%9D%EC%84%B1%EC%9E%90%EC%97%90_%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98%EA%B0%80_%EB%A7%8E%EB%8B%A4%EB%A9%B4_%EB%B9%8C%EB%8D%94%EB%A5%BC_%EA%B3%A0%EB%A0%A4%ED%95%98%EC%9E%90.md
Item3 : private 생성자 혹은 enum 타입으로 싱글톤임을 보증하라https://cat-tungsten-c56.notion.site/DAY1-3-eb593dad6c9941b0b4c787ed5e6be3bf
Item4 : 인스턴스화를 막으려거든 private 생성자를 사용하라https://cat-tungsten-c56.notion.site/DAY2-4-3f1ba602a5604354b7980f05b28a1996
Item5 : 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라https://cat-tungsten-c56.notion.site/DAY2-5-e7d4fc8086374b4eb0cf17a47f796ce4
Item7 : 다 쓴 객체 참조를 해제하라https://cat-tungsten-c56.notion.site/DAY3-7-5606f48a97ac45caa62958a27893f081
Item9 : try-finally보다는 try-with-resources를 사용하라https://cat-tungsten-c56.notion.site/DAY4-9-512102eb72db408aa6ef5e4b7a32d9bf
Item10 : equals는 일반 규약을 지켜 재정의하라https://github.com/Dev-Prison/Effective-Java/blob/main/app/src/main/java/com/programmers/java/chapt3/item10/item10_%EB%B0%9C%ED%91%9C.md
Item11 : equals를 재정의하려거든 hashCode도 재정의하라https://github.com/Dev-Prison/Effective-Java/blob/main/app/src/main/java/com/programmers/java/chapt3/item11/Item11_equals%EB%A5%BC_%EC%9E%AC%EC%A0%95%EC%9D%98%ED%95%98%EB%A0%A4%EA%B1%B0%EB%93%A0_hashCode%EB%8F%84_%EC%9E%AC%EC%A0%95%EC%9D%98%ED%95%98%EB%9D%BC.md
Item12 : toString을 재정의하라https://github.com/Dev-Prison/Effective-Java/blob/main/app/src/main/java/com/programmers/java/chapt3/item12/Item12_toString.md
Item13 : clone 재정의는 주의해서 진행하라https://github.com/Dev-Prison/Effective-Java/tree/main/app/src/main/java/com/programmers/java/chapt3/item13
Item14 : Comparable을 구현할지 고려하라https://github.com/Dev-Prison/Effective-Java/blob/main/app/src/main/java/com/programmers/java/chapt3/item14/Item14_compareTo.md
Item15 : 클래스와 멤버의 접근 권한을 최소화하라https://github.com/Dev-Prison/Effective-Java/blob/main/app/src/main/java/com/programmers/java/chapt4/item15/item15_%ED%81%B4%EB%9E%98%EC%8A%A4%EC%99%80_%EB%A9%A4%EB%B2%84%EC%9D%98_%EC%A0%91%EA%B7%BC%EA%B6%8C%ED%95%9C%EC%9D%84_%EC%B5%9C%EC%86%8C%ED%99%94_%ED%95%98%EB%9D%BC_%EB%B0%9C%ED%91%9C.md
Item16 : public 클래스에서는 public 필드가 아닌 접근자 메서드를 사용하라https://github.com/Dev-Prison/Effective-Java/blob/main/app/src/main/java/com/programmers/java/chapt4/item16/Item16_public%ED%81%B4%EB%9E%98%EC%8A%A4%EC%97%90%EC%84%9C%EB%8A%94_public%ED%95%84%EB%93%9C%EA%B0%80_%EC%95%84%EB%8B%8C_%EC%A0%91%EA%B7%BC%EC%9E%90%EB%A9%94%EC%84%9C%EB%93%9C%EB%A5%BC_%EC%82%AC%EC%9A%A9%ED%95%98%EB%9D%BC.md
Item17 : 변경 가능성을 최소화하라https://github.com/Dev-Prison/Effective-Java/blob/main/app/src/main/java/com/programmers/java/chapt4/item17/Item17_%EB%B3%80%EA%B2%BD_%EA%B0%80%EB%8A%A5%EC%84%B1%EC%9D%84_%EC%B5%9C%EC%86%8C%ED%99%94%ED%95%98%EB%9D%BC.md
Item18 : 상속보다는 컴포지션을 사용하라https://yeonees.notion.site/item-18-6b82a4bd1d7647cba555f800082a5581
Item19 : 상속을 고려해 설계하고 문서화하라https://github.com/Dev-Prison/Effective-Java/blob/main/app/src/main/java/com/programmers/java/chapt4/item19/Item19.md
Item20 : 추상 클래스보다는 인터페이스를 우선하라https://github.com/Dev-Prison/Effective-Java/blob/main/app/src/main/java/com/programmers/java/chapt4/item20/Item20_%EC%B6%94%EC%83%81%ED%81%B4%EB%9E%98%EC%8A%A4%EB%B3%B4%EB%8B%A4%EB%8A%94_%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4.md
Item21 : 인터페이스는 구현하는 쪽을 생각해 설계하라https://github.com/Dev-Prison/Effective-Java/blob/main/app/src/main/java/com/programmers/java/chapt4/item21/Item21_%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4%EB%8A%94_%EA%B5%AC%ED%98%84%ED%95%98%EB%8A%94_%EC%AA%BD%EC%9D%84_%EC%83%9D%EA%B0%81%ED%95%B4_%EC%84%A4%EA%B3%84%ED%95%98%EB%9D%BC.md
Item22 : 인터페이스는 타입을 정의하는 용도로만 사용하라https://github.com/Dev-Prison/Effective-Java/blob/main/app/src/main/java/com/programmers/java/chapt4/item22/item22_%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4%EB%8A%94_%ED%83%80%EC%9E%85%EC%9D%84_%EC%A0%95%EC%9D%98%ED%95%98%EB%8A%94_%EC%9A%A9%EB%8F%84%EB%A1%9C%EB%A7%8C_%EC%82%AC%EC%9A%A9%ED%95%98%EB%9D%BC.md
Item23 : 태그 달린 클래스보다는 클래스 계층구조를 활용하라https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/blob/main/app/src/main/java/com/programmers/java/chapt4/item23/README.md
Item24 : 멤버 클래스는 되도록 static 으로 만들라https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/blob/main/app/src/main/java/com/programmers/java/chapt4/item24/item24.md
Item25 : 톱레벨 클래스는 한 파일에 하나만 담으라https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/blob/main/app/src/main/java/com/programmers/java/chapt4/item25/item25_%ED%86%B1%EB%A0%88%EB%B2%A8_%ED%81%B4%EB%9E%98%EC%8A%A4%EB%8A%94_%ED%95%9C%ED%8C%8C%EC%9D%BC%EC%97%90_%ED%95%98%EB%82%98%EB%A7%8C_%EB%8B%B4%EC%9C%BC%EB%9D%BC.md
Item26 : 로 타입은 사용하지 말라https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/blob/main/app/src/main/java/com/programmers/java/chapt5/item26/Item26_%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.md
Item27 : 비검사 경고를 제거하라https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/blob/main/app/src/main/java/com/programmers/java/chapt5/item27/%EB%B9%84%EA%B2%80%EC%82%AC_%EA%B2%BD%EA%B3%A0%EB%A5%BC_%EC%A0%9C%EA%B1%B0%ED%95%98%EB%9D%BC.md
Item28 : 배열보다는 리스트를 사용하라https://yeonees.notion.site/item-28-bcd551fd107648e98794d92be3d3ef5b
Item29 : 이왕이면 제네릭 타입으로 만들라https://github.com/Dev-Prison/Effective-Java/blob/main/app/src/main/java/com/programmers/java/chapt5/item29/item29.md
Item30 : 이왕이면 제네릭 메서드로 만들라https://github.com/Dev-Prison/Effective-Java/blob/ynoolee/app/src/main/java/com/programmers/java/chapt5/item30/item30_%EC%9D%B4%EC%99%95%EC%9D%B4%EB%A9%B4_%EC%A0%9C%EB%84%A4%EB%A6%AD_%EB%A9%94%EC%84%9C%EB%93%9C%EB%A1%9C_%EB%A7%8C%EB%93%A4%EB%9D%BC.md
Item31 : 한정적 와일드카드를 사용해 API 유연성을 높이라https://github.com/Dev-Prison/Effective-Java/blob/0e660de3fd673b636cce15fcf49fa4d19ea106e3/app/src/main/java/com/programmers/java/chapt5/item31/Item31%20-%ED%95%9C%EC%A0%95%EC%A0%81%20%EC%99%80%EC%9D%BC%EB%93%9C%EC%B9%B4%EB%93%9C%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%B4%20API%20%EC%9C%A0%EC%97%B0%EC%84%B1%EC%9D%84%20%EB%86%92%EC%9D%B4%EB%9D%BC.md
Item32 : 제네릭과 가변인수를 함께 쓸 때는 신중하라https://velog.io/@yhlee9753/%EC%9D%B4%ED%8E%99%ED%8B%B0%EB%B8%8C%EC%9E%90%EB%B0%94-item32.-%EC%A0%9C%EB%84%A4%EB%A6%AD%EA%B3%BC-%EA%B0%80%EB%B3%80%EC%9D%B8%EC%88%98%EB%A5%BC-%ED%95%A8-%EC%93%B8-%EB%95%8C%EB%8A%94-%EC%8B%A0%EC%A4%91%ED%95%98%EB%9D%BC
Item33 : 타입안정 이종 컨테이너를 고려하라https://yeonees.notion.site/item-33-009fd935813c4247a028f34a5ba522b0
Item34 : int 상수 대신 열거 타입을 사용하라https://github.com/Dev-Prison/Effective-Java/blob/main/app/src/main/java/com/programmers/java/chapt6/item34.md
Item35 : ordinal 메소드 대신 인스턴스 필드를 사용하라https://github.com/Dev-Prison/Effective-Java/blob/main/app/src/main/java/com/programmers/java/chapt6/item35/item35_ordinal_%EB%A9%94%EC%86%8C%EB%93%9C_%EB%8C%80%EC%8B%A0_%EC%9D%B8%EC%8A%A4%ED%84%B4%EC%8A%A4_%ED%95%84%EB%93%9C%EB%A5%BC_%EC%82%AC%EC%9A%A9%ED%95%98%EB%9D%BC.md
Item36 : 비트 필드 대신 EnumSet을 사용하라https://velog.io/@yhlee9753/%EC%9D%B4%ED%8E%99%ED%8B%B0%EB%B8%8C%EC%9E%90%EB%B0%94-item36.-%EB%B9%84%ED%8A%B8-%ED%95%84%EB%93%9C-%EB%8C%80%EC%8B%A0-EnumSet%EC%9D%84-%EC%82%AC%EC%9A%A9%ED%95%98%EB%9D%BC
Item37 : EnumMap 을 사용하라https://morning-paprika-8fa.notion.site/Item37-EnumMap-54f6685b29d24a5bba0d749770bb2aa2
Item38 : 확장할 수 있는 열거 타입이 필요하면 인터페이스를 사용하라.https://yeonees.notion.site/item-38-e1f94d06a0cc4d93990c273d0de71b99
Item39 : 명명 패턴보다 Annotation을 사용하라https://cat-tungsten-c56.notion.site/DAY12-Annotation-68f703aa60174f4e80e05c5399997745
Item40 : 어노테이션을 일관되게 사용하라https://github.com/Dev-Prison/Effective-Java/blob/main/app/src/main/java/com/programmers/java/chapt6/item40/Override_%EC%96%B4%EB%85%B8%ED%85%8C%EC%9D%B4%EC%85%98%EC%9D%84_%EC%9D%BC%EA%B4%80%EB%90%98%EA%B2%8C_%EC%82%AC%EC%9A%A9%ED%95%98%EB%9D%BC.md
Item41 : 정의하려는 것이 타입이라면 마커 인터페이스를 사용하라https://velog.io/@yhlee9753/%EC%9D%B4%ED%8E%99%ED%8B%B0%EB%B8%8C%EC%9E%90%EB%B0%94-item41.-%EC%A0%95%EC%9D%98%ED%95%98%EB%A0%A4%EB%8A%94-%EA%B2%83%EC%9D%B4-%ED%83%80%EC%9E%85%EC%9D%B4%EB%9D%BC%EB%A9%B4-%EB%A7%88%EC%BB%A4-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EB%9D%BC
Item42 : 익명 클래스보다 람다를 사용하라https://morning-paprika-8fa.notion.site/Item42-badd9f20079c4286947ed7843eca011f
Item43 : 람다보다는 메서드 참조를 사용하라https://yeonees.notion.site/Item-43-380ddf5f9cac4005954f11ffd966f72b
Item44 : 표준 함수형 인터페이스를 사용하라https://cat-tungsten-c56.notion.site/DAY13-feat-09f5b930d8214104846a69b2d71174d6
Item45 : 스트림은 주의해서 사용하라https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/blob/main/app/src/main/java/com/programmers/java/chapt7/item45/%EC%8A%A4%ED%8A%B8%EB%A6%BC%EC%9D%80_%EC%A3%BC%EC%9D%98%ED%95%B4%EC%84%9C_%EC%82%AC%EC%9A%A9%ED%95%98%EB%9D%BC.md
Item46 : 스트림에서는 부작용 없는 함수를 사용하라https://velog.io/@yhlee9753/%EC%9D%B4%ED%8E%99%ED%8B%B0%EB%B8%8C%EC%9E%90%EB%B0%94-item46.-%EC%8A%A4%ED%8A%B8%EB%A6%BC%EC%97%90%EC%84%9C%EB%8A%94-%EB%B6%80%EC%9E%91%EC%9A%A9-%EC%97%86%EB%8A%94-%ED%95%A8%EC%88%98%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EB%9D%BC-baa2kzb7
Item47 : 반환 타입으로는 스트림보다 컬렉션이 낫다https://morning-paprika-8fa.notion.site/Item47-12ee150aad9743da8c366622649961bd
Item48 : 스트림 병렬화는 주의해서 사용하라https://yeonees.notion.site/Item-48-bf444377089449268b013753112ca4c1
Item49 : 매개변수가 유효한지 검사하라https://cat-tungsten-c56.notion.site/DAY14-ce4b6cbe3a8c434c859e5b24bb51e943
Item50 : 적시에 방어적 복사본을 만들라https://ultra-stream-0a3.notion.site/Item-50-2f18dc7cc6fc49ac8148b258ab5905b3
Item51 : 메서드 시그니처를 신중히 설계하라https://github.com/YHLEE9753/Effective-Java/blob/main/app/src/main/java/com/programmers/java/chapt8/item51/item51.md
Item52 : 다중정의는 신중히 사용하라https://www.notion.so/Item52-6e891e60b11740cc944920225e329da2
Item53 : 가변인수는 신중히 사용하라https://github.com/Dev-Prison/Effective-Java/blob/main/app/src/main/java/com/programmers/java/chapt8/item53/%EA%B0%80%EB%B3%80%EC%9D%B8%EC%88%98%EB%8A%94_%EC%8B%A0%EC%A4%91%ED%9E%88_%EC%82%AC%EC%9A%A9%ED%95%98%EB%9D%BC.md
Item54 : null 이 아닌, 빈 컬렉션이나 배열을 반환하라https://cat-tungsten-c56.notion.site/DAY15-null-325f21f2bf1341a6b4b491fa725fb951
Item55 : 옵셔널 반환은 신충히 해라https://velog.io/@yhlee9753/%EC%9D%B4%ED%8E%99%ED%8B%B0%EB%B8%8C%EC%9E%90%EB%B0%94-item55.-%EC%98%B5%EC%85%94%EB%84%90-%EB%B0%98%ED%99%98%EC%9D%80-%EC%8B%A0%EC%A4%91%ED%9E%88-%ED%95%98%EB%9D%BC
Item56 : 항상 문서화 주석을 작성하라https://morning-paprika-8fa.notion.site/Item56-API-e703f9682112416db7486bc366e485c3
Item57 : 지역변수의 범위를 최소화하라https://yeonees.notion.site/Item-57-5baaf390b4fd4c84ba1e0236a183eee2
Item58 : 전통적 for 문 보다는 for-each 문을 사용하라https://github.com/Dev-Prison/Effective-Java/blob/main/app/src/main/java/com/programmers/java/chapt9/item58/%EC%A0%84%ED%86%B5%EC%A0%81_for%EB%AC%B8_%EB%B3%B4%EB%8B%A4%EB%8A%94_for-each_%EB%AC%B8%EC%9D%84_%EC%82%AC%EC%9A%A9%ED%95%98%EB%9D%BC.md
Item59 : 라이브러리를 익히고 사용하라https://cat-tungsten-c56.notion.site/DAY16-3e931f4c73804aa08d99b085c42c4008
Item60 : 정확한 답이 필요하다면 float와 double은 피하라https://velog.io/@yhlee9753/%EC%9D%B4%ED%8E%99%ED%8B%B0%EB%B8%8C%EC%9E%90%EB%B0%94-item60.-%EC%A0%95%ED%99%95%ED%95%9C-%EB%8B%B5%EC%9D%B4-%ED%95%84%EC%9A%94%ED%95%98%EB%8B%A4%EB%A9%B4-float%EC%99%80-double%EC%9D%80-%ED%94%BC%ED%95%98%EB%9D%BC
Item61 : 박싱된 기본 타입보다는 기본 타입을 사용하라https://morning-paprika-8fa.notion.site/Item61-53a128ba88cf493e84a896a46a7d3596
Item62 : 다른 타입이 적절하다면 문자열 사용을 피하라https://yeonees.notion.site/item-62-05800a7431a14a7b9b8585c1a32561c5
Item63 : 문자열 연결은 느리니 주의하라https://morning-paprika-8fa.notion.site/Item63-71e48a50e595469fa06faa59d97d4313
Item64 : 객체는 인터페이스를 사용해 참조하라https://cat-tungsten-c56.notion.site/DAY17-c2e74e8631d249b8be380c986b50e8f2
Item65 : 리플렉션보다는 인터페이스를 사용하라https://velog.io/@yhlee9753/%EC%9D%B4%ED%8E%99%ED%8B%B0%EB%B8%8C%EC%9E%90%EB%B0%94-item65.-%EB%A6%AC%ED%94%8C%EB%A0%89%EC%85%98%EB%B3%B4%EB%8B%A4%EB%8A%94-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EB%9D%BC
Item66 : 네이티브 메소드는 신중히 사용하라https://github.com/Dev-Prison/Effective-Java/blob/main/app/src/main/java/com/programmers/java/chapt9/item66/item66_%EB%84%A4%EC%9D%B4%ED%8B%B0%EB%B8%8C%EB%A9%94%EC%84%9C%EB%93%9C%EB%8A%94_%EC%8B%A0%EC%A4%91%ED%9E%88_%EC%82%AC%EC%9A%A9%ED%95%98%EB%9D%BC.md
Item67 : 최적화는 신중히 하라https://yeonees.notion.site/item-67-0323496d0b6b43fb8ec2f6e8d45b6b61
Item68 : 일반적으로 통용되는 명명규칙을 따르라https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/blob/main/app/src/main/java/com/programmers/java/chapt9/item68/item68_%EC%9D%BC%EB%B0%98%EC%A0%81%EC%9C%BC%EB%A1%9C_%ED%86%B5%EC%9A%A9%EB%90%98%EB%8A%94_%EB%AA%85%EB%AA%85%EA%B7%9C%EC%B9%99%EC%9D%84_%EB%94%B0%EB%A5%B4%EB%9D%BC.md
Item69 : 예외는 진짜 예외 상황에만 사용하라https://cat-tungsten-c56.notion.site/DAY18-c510100149e14c9ea7e0f4302ba426e4
Item70 : 복구할 수 있는 상황에는 검사 예외를, 프로그래밍 오류에는 런타임 예외를 사용하라https://velog.io/@yhlee9753/%EC%9D%B4%ED%8E%99%ED%8B%B0%EB%B8%8C%EC%9E%90%EB%B0%94-item70.-%EB%B3%B5%EA%B5%AC%ED%95%A0-%EC%88%98-%EB%8A%94-%EC%83%81%ED%99%A9%EC%97%90%EB%8A%94-%EA%B2%80%EC%82%AC-%EC%98%88%EC%99%B8%EB%A5%BC-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%EC%98%A4%EB%A5%98%EC%97%90%EB%8A%94-%EB%9F%B0%ED%83%80%EC%9E%84-%EC%98%88%EC%99%B8%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EB%9D%BC
Item71 : 필요없는 예외 검사는 피하라https://morning-paprika-8fa.notion.site/Item71-0b78fe39d3714bc4a204639aeecbb4d0
Item72 : 표준 예외를 사용하라https://yeonees.notion.site/Item72-598f9e43666b4558af78df55804ba1a8
Item73 : 추상화 수준에 맞는 예외를 던져라https://ultra-stream-0a3.notion.site/Item-73-5f7b366c6c594774ae2b762623c6c7b0
Item74 : 메서드가 던지는 모든 예외를 문서화하라https://cat-tungsten-c56.notion.site/DAY-19-a90461233833458ea812fe2666e16793
Item75 : 예외의 상세 메시지에 실패 관련 정보를 담으라https://velog.io/@yhlee9753/%EC%9D%B4%ED%8E%99%ED%8B%B0%EB%B8%8C%EC%9E%90%EB%B0%94-item75.-%EC%98%88%EC%99%B8%EC%9D%98-%EC%83%81%EC%84%B8-%EB%A9%94%EC%8B%9C%EC%A7%80%EC%97%90-%EC%8B%A4%ED%8C%A8-%EA%B4%80%EB%A0%A8-%EC%A0%95%EB%B3%B4%EB%A5%BC-%EB%8B%B4%EC%9C%BC%EB%9D%BC
Item76 : 가능한 한 실패 원자적으로 만들라https://morning-paprika-8fa.notion.site/Item76-4fee02ecc4414426882e3f30406babf8
Item77 : 예외를 무시하지 말라https://yeonees.notion.site/item77-6b2b12f1d91f433491388e3547031926
Item78 : 공유 중인 가변 데이터는 동기화해 사용하라https://github.com/Dev-Prison/Effective-Java/blob/ynoolee/app/src/main/java/com/programmers/java/chapt11/item78/item78_%EA%B3%B5%EC%9C%A0_%EC%A4%91%EC%9D%B8_%EA%B0%80%EB%B3%80_%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%8A%94_%EB%8F%99%EA%B8%B0%ED%99%94_%ED%95%B4_%EC%82%AC%EC%9A%A9%ED%95%98%EB%9D%BC.md
Item79 : 과도한 동기화는 피하라https://cat-tungsten-c56.notion.site/DAY-20-445fca95e9c04bedae6160225207b37d
Item80 : 스레드보다는 실행자, 태스크, 스트림을 사용하라https://velog.io/@yhlee9753/%EC%9D%B4%ED%8E%99%ED%8B%B0%EB%B8%8C%EC%9E%90%EB%B0%94-item80.-%EC%8A%A4%EB%A0%88%EB%93%9C%EB%B3%B4%EB%8B%A4%EB%8A%94-%EC%8B%A4%ED%96%89%EC%9E%90-%ED%83%9C%EC%8A%A4%ED%81%AC-%EC%8A%A4%ED%8A%B8%EB%A6%BC%EC%9D%84-%EC%95%A0%EC%9A%A9%ED%95%98%EB%9D%BC
Item81 : wait와 notify보다는 동시성 유틸리티를 애용하라https://morning-paprika-8fa.notion.site/Item81-wait-notify-d10570a6377a42c0988f2228dc9c6673
Item83 : 지연 초기화는 신중히 사용하라https://www.notion.so/Item-83-20e159976d1c49dfa9bc9ca49c5c8ae1
Item84 : 프로그램의 동작을 스레드 스케줄러에 기대지 말라https://cat-tungsten-c56.notion.site/DAY-21-938ed29bbd4f4018b86250fdb39dd2ff
Item85 : 자바 직렬화의 대안을 찾으라https://velog.io/@yhlee9753/%EC%9D%B4%ED%8E%99%ED%8B%B0%EB%B8%8C%EC%9E%90%EB%B0%94-item85.-%EC%9E%90%EB%B0%94-%EC%A7%81%EB%A0%AC%ED%99%94%EC%9D%98-%EB%8C%80%EC%95%88%EC%9D%84-%EC%B0%BE%EC%95%84%EB%9D%BC
Item86 : Serializable을 구현할지는 신중히 결정하라https://morning-paprika-8fa.notion.site/Item86-Serializable-7f3d4cabda944dd7b2fbe0ac59475aa0
Item87 : 커스텀 직렬화 형태를 고려해보라https://cat-tungsten-c56.notion.site/DAY-22-3eedd057ca4f401f9963861365c7e126
Item88 : readObject 메서드는 방어적으로 작성하라https://github.com/Dev-Prison/Effective-Java/blob/8ffd928c7195a30e02d5eb8338e6a0e665e268b2/app/src/main/java/com/programmers/java/chapt12/item88/item88_readObject_%EB%A9%94%EC%86%8C%EB%93%9C%EB%8A%94_%EB%B0%A9%EC%96%B4%EC%A0%81%EC%9C%BC%EB%A1%9C_%EC%9E%91%EC%84%B1%ED%95%98%EB%9D%BC.md
Item89 : 인스턴스 수를 통제해야 한다면 readResolve 보다는 열거 타입을 사용하라https://velog.io/@yhlee9753/%EC%9D%B4%ED%8E%99%ED%8B%B0%EB%B8%8C%EC%9E%90%EB%B0%94-item89.-%EC%9D%B8%EC%8A%A4%ED%84%B4%EC%8A%A4-%EC%88%98%EB%A5%BC-%ED%86%B5%EC%A0%9C%ED%95%B4%EC%95%BC-%ED%95%9C%EB%8B%A4%EB%A9%B4-readResolve-%EB%B3%B4%EB%8B%A4%EB%8A%94-%EC%97%B4%EA%B1%B0-%ED%83%80%EC%9E%85%EC%9D%84-%EC%82%AC%EC%9A%A9%ED%95%98%EB%9D%BC
Item90 : 직렬화된 인스턴스 대신 직렬화 프록시 사용을 검토하라https://github.com/Dev-Prison/Effective-Java/blob/main/app/src/main/java/com/programmers/java/chapt12/item90/item90_%EC%A7%81%EB%A0%AC%ED%99%94%EB%90%9C_%EC%9D%B8%EC%8A%A4%ED%84%B4%EC%8A%A4_%EB%8C%80%EC%8B%A0_%EC%A7%81%EB%A0%AC%ED%99%94_%ED%94%84%EB%A1%9D%EC%8B%9C_%EC%82%AC%EC%9A%A9%EC%9D%84_%EA%B2%80%ED%86%A0%ED%95%98%EB%9D%BC.md
Readme https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java#readme-ov-file
Please reload this pagehttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java
Activityhttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/activity
Custom propertieshttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/custom-properties
14 starshttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/stargazers
1 watchinghttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/watchers
2 forkshttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/forks
Report repository https://patch-diff.githubusercontent.com/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2FDev-Prison%2FEffective-Java&report=Dev-Prison+%28user%29
Releaseshttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/releases
Packages 0https://patch-diff.githubusercontent.com/orgs/Dev-Prison/packages?repo_name=Effective-Java
Contributors 5https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/graphs/contributors
Please reload this pagehttps://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java
Java 100.0% https://patch-diff.githubusercontent.com/Dev-Prison/Effective-Java/search?l=java
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.