Skip to content
Navigation Menu
Sign in
Appearance settings
Platform
AI CODE CREATION
GitHub Copilot
Write better code with AI
GitHub Copilot app
Direct agents from issue to merge
MCP Registry
Integrate external tools
DEVELOPER WORKFLOWS
Actions
Automate any workflow
Codespaces
Instant dev environments
Issues
Plan and track work
Code Review
Manage code changes
Code Quality
Enforce quality at merge
APPLICATION SECURITY
GitHub Advanced Security
Find and fix vulnerabilities
Code security
Secure your code as you build
Secret protection
Stop leaks before they start
EXPLORE
Why GitHub
Documentation
Blog
Changelog
Marketplace
View all features
Solutions
BY COMPANY SIZE
Enterprises
Small and medium teams
Startups
Nonprofits
BY USE CASE
App Modernization
DevSecOps
DevOps
CI/CD
View all use cases
BY INDUSTRY
Healthcare
Financial services
Manufacturing
Government
View all industries
View all solutions
Resources
EXPLORE BY TOPIC
AI
Software Development
DevOps
Security
View all topics
EXPLORE BY TYPE
Customer stories
Events & webinars
Ebooks & reports
Business insights
GitHub Skills
SUPPORT & SERVICES
Documentation
Customer support
Community forum
Trust center
Partners
View all resources
Open Source
COMMUNITY
GitHub Sponsors
Fund open source developers
PROGRAMS
Security Lab
Maintainer Community
Accelerator
GitHub Stars
Archive Program
REPOSITORIES
Topics
Trending
Collections
Enterprise
ENTERPRISE SOLUTIONS
Enterprise platform
AI-powered developer platform
AVAILABLE ADD-ONS
GitHub Advanced Security
Enterprise-grade security features
Copilot for Business
Enterprise-grade AI features
Premium Support
Enterprise-grade 24/7 support
Pricing
Type
/
to search
Sign in
Sign up
Appearance settings
You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
Uh oh!
There was an error while loading.
Please reload this page
.
java-squid
/
effective-java
Public
Notifications
You must be signed in to change notification settings
Fork
35
Star
103
Code
Issues
0
Pull requests
0
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
20201123
Jump to bottom
Han edited this page
Nov 23, 2020
·
2 revisions
회고
Sunny
이번 챕터가 지금까지 해온 프로젝트랑 관련이 있어서, 좀 더 와닿았다.
Han
생소하다.
다음주 상황봐서, 오프라인으로!
공부하는 시간 배분을 조금 더 생각해봐야겠다.
이번에도 9시에 끝내는 것을 목표로 하자.
David
초반에는 어렵게 느껴졌는데, 보면 볼수록 쉬워졌음.
내용적으로 재밌었다.
제네릭에 대해 쓰기만 하다가, 제대로 배움을 얻은 느낌.
아직 좀 비워있는 내용들이 있지만, 다른 아이템들을 읽으면 구멍이 채워질 듯 하다.
Items
[아이템 26]
다양한 소스를 참고하자. (자바봄 뿐만 아니라, 다른 소스들도 확인하자)
런타임에 제네릭 정보가 지워지는 것은 Java 5 이전에, 하위 호완성을 유지하기 위함.
Void 객체
[아이템 27]
[아이템 28]
배열 covariant (공변)
컴파일 타입에는 통과하지만, 런타임에는 오류가 발생할 수 있음.
제네릭 inconvariant (불공변)
제네릭을 사용하게 되면, 컴파일 타임에 검사를 해서 프로그래머로 하여금 타입을 고치도록 만들어준다.
이런 속성 때문에, 제네릭을 사용하는 게 좋다
제네릭 배열 생성이 안되는 이유?
배열은 공변. 런타임 시 오류 발생할 수 있다.
그러므로 아예 생성하지 못하도록 만들자.
[아이템 29]
Stack<int>
,
Stack<double>
왜 못하게 막아놨을까?
Java 시스템의 기본적인 문제라 생각되지만....
int, double type을 구분할 수 없어서..?
Generic이라는 게 Object 하위만 판단..?
[아이템 30]
static method의 경우, Type Parameter를 Class에서 가져오는 것.
다음주...
아이템 배분
스터디 준비
Wiki pages
Pages
19
Loading
Home
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
2020.09.19 1번째 스터디
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
2020.09.26 2번째 스터디
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
2020.10.17
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
2020.10.31
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
20201109
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
20201116
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
20201123
회고
Sunny
Han
David
Items
[아이템 26]
[아이템 27]
[아이템 28]
[아이템 29]
[아이템 30]
다음주...
아이템 배분
스터디 준비
Loading
20201130
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
20201207
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
20201214
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
20210118
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
20210125
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
20210201
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
20210208
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
20210222
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
20210308
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
20210317
Uh oh!
There was an error while loading.
Please reload this page
.
Loading
기획서
Uh oh!
There was an error while loading.
Please reload this page
.
Show 4 more pages…
Clone this wiki locally
You can’t perform that action at this time.