목록Computer Science/Java (4)
세상에 나쁜 코드는 없다
Generic Programming이란? Generic programming centers around the idea of abstracting from concrete, efficient algorithms to obtain generic algorithms that can be combined with different data representations to produce a wide variety of useful software. 제너릭 프로그래밍이란 구체적인 알고리즘, 로직, 혹은 행동을 서로 다른 데이터 타입에 대해 적용하기 위해 하나의 일반화된 알고리즘, 로직, 혹은 행동으로 추상화하는 프로그래밍 방법입니다. 이는 추상화의 한 방법이기에, 소프트웨어 문제를 어떻게 추상화하고자 하는가에 ..
상속이 안티패턴이라고? 항간에는 상속이 안티패턴이며, 사용을 하지 않아야 한다는 얘기도 들리는 것으로 보입니다. 이러한 말은 어떤 상황에서 나왔을까요? Is Inheritance That Evil? Why inheritance is considered as a pillar of OOP when so many developers criticize it? We'll see where inheritance comes from and what problems it solves. thevaluable.dev Do Not Use Inheritance | Simple Code 2020.11.06 - 2021.02.14 petozoltan.gitbook.io InstrumentedHashSet 예제로 알아보는 상속의 ..
Generics 지네릭스 Generics 란 ? 지네릭스는 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입체크(compile-time type check)를 해주는 기능이다. 객체의 타입을 컴파일 시에 체크하면 객체의 타입 안정성을 높일 수 있고 형변환의 번거로움을 줄일 수 있다. 객체의 타입 안정성을 높인다 의도치 않은 타입의 객체가 저장되는 것을 막는다. 원래 의도와 다르게 잘못 형변환되는 경우를 막는다. 형변환의 번거로움을 줄인다 컬렉션 클래스의 경우 보통 한 종류의 객체만을 담는 경우가 많은데, 그럼에도 불구하고 꺼낼 때마다 타입체크를 해야하고 형변환을 하는 것은 불편하다. // 지네릭스가 사용되지 않는다면.. Class ArrayList { private Object a..
예외처리 Exception Handling 프로그램의 오류 프로그램 에러/오류 : 프로그램이 실행 중 어떤 원인에 의해서 오작동을 하거나 비정상적으로 종료되는 경우 프로그램 에러 구분법 : 발생시점에 따라 컴파일 에러(컴파일 타임 에러) : 컴파일 시 발생하는 에러 소스코드 내의 오타나 잘못된 구문, 자료형 체크 런타임 에러 : 실행 시에 발생하는 에러 소스코드의 오류와 별개로 실행시에 생기는 오류 논리적 에러 : 실행은 되지만, 의도와 다르게 동작하는 것 자바에서는 이중 런타임 에러를 Error 와 Exception으로 구분한다. Error : OutOfMemoryError와 StackOverflowError 같이, 일단 발생하면 복구할 수 없는 심각한 오류 Exception : 문제가 생기더라도 코드..