목록Programing & Coding (86)
S E P H ' S
오버로딩(Overloading) 자바의 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메소드가 있더라도 매개변수의 개수 또는 타입이 다르면, 같은 이름을 사용해서 메소드를 정의할 수 있습니다. 오버로딩(Overloading)이라는 뜻은 사전적으로 '과적하다' 라는 뜻입니다. 자바에서 하나의 메소드 이름으로 여러 기능을 구현할 수 있기 때문에 '과적하다'라는 뜻의 이름을 붙여준 것으로 보입니다. 오버로딩의 조건 메소드의 이름이 같고, 매개변수의 개수나 타입이 달라야 합니다. 주의할 점은 리턴 값만 다른 것은 오버로딩을 할 수 없습니다. 위와 같이 print라는 같은 이름을 가진 네 개의 메소드가 매개변수의 개수와 타입을 다르게 지정하여 사용하는 것이 가능하다는 것을 잘 보여주고 있습니다. 또한 ..
Final final 키워드는 변수(variable), 메소드(method), 클래스(class)에 사용될 수 있습니다. final 키워드는 어디에 사용되느냐에 따라서 의미가 달라지지만 공통적으로 무언가를 제한한다는 의미를 가집니다. - final variable 변하지 않는 상수값이 되어 새로 할당할 수 없는 변수가 된다. - final method 다른 메소드에서 오버라이딩 하지 못한다. - final class 다른 클래스에서 상속하지 못한다. 변수(Variable) 변수에 final을 붙이면 이 변수는 수정할 수 없다는 의미를 가집니다. 수정될 수 없기 때문에 초기화는 필수입니다. 만약에 객체안의 변수라면 생성자, static 블럭을 통한 초기화는 허용됩니다. 수정할 수 없다는 범위는 그 변수의 ..
Generic 다양한 타입의 객체들을 다루는 메소드나 컬렉션 클래스에서 사용하는 것으로, 컴파일 과정에서 타입체크를 해주는 기능입니다. 이러한 제네릭은 자바에서 안정성을 맡고 있습니다. 객체의 타입을 컴파일 시에 체크하기 때문에 객체의 타입 안정성을 높이고 형변환의 번거로움을 줄여줍니다. 자연스럽게 코드도 더욱 간결하게 작성할 수 있습니다. 예를 들면, Collection에 특정 객체만 추가될 수 있도록, 또는 특정한 클래스의 특징을 갖고 있는 경우에만 추가될 수 있도록 할 수 있습니다. 이로 인한 장점은 Collection 내부에서 들어온 값이 내가 원하는 값인지 별도의 로직처리를 구현할 필요가 없어집니다. 또한 API를 설계하는데에 있어서 보다 명확한 의사 전달이 가능해집니다. Generic의 생성방..
Annotation Annotation의 사전적 의미는 주석이란 뜻입니다. 인터페이스를 기반으로 한 문법이고 주석과는 역할이 다르지만 주석처럼 코드에 달아 클래스에 특별한 의미를 부여하거나 기능을 주입할 수 있습니다. Annotation에는 크게 세 가지 종류가 존재합니다. JDK에 내장되어 있는 built-in-annotation, Annotation에 대한 정보를 나타내기 위한 Meta annotation, 그리고 개발자가 직접 만들어내는 Custom Annotation이 있습니다. 문법으로서 Annotation의 역할 기존의 Java 웹 애플리케이션들은 구성과 설정값들을 외부의 XML 설정 파일에 명시하는 방법으로 프로그래밍 되었습니다. 변경될 수 있는 데이터들을 코드가 아닌 외부 설정 파일에 분리..