목록개발/Java (23)
JongDDA의 한걸음 한걸음씩
다형성(Polymorphism) 다형성이란 '여러 가지 형태를 가질 수 있는 능력'을 의미하며, 자바에서는 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 함으로써 다형성을 프로그램적으로 구현하였다. 이는 부모클래스 타입의 참조변수로 자식클래스의 인스턴스를 참조할 수 있도록 하였다는 말이다. 다형성이란? 여러가지 형태를 가질 수 있는 것 하나의 메소드나 클래스가 있을 때 이것들이 다양한 방법을 동작하는 것, 대표적으로 오버로딩, 오버라이딩이 있다. 하나의 참조변수로 여러 타입의 객체를 참조할 수 있는 것 참조변수의 형변환 기본형 변수처럼 참조변수도 형변환이 가능하다. 단, 서로 상속관계에 있는 클래스 사이에서만 가능하기 때문에 자손타입의 참조변수를 조상타입의 참조변수로, 조상타입의 참조변수를 ..
제어자(modifier) 제어자는 클래스, 변수 또는 매서드의 선언부에 함께 사용되어 부가적인 의미를 부여한다. 제어자의 종류는 크레 접근 제어자와 그외의 제어자로 나눌 수 있다. 접근 제어자 public, protected, (default), private 그 외 static, final, abstract, native, transient, synchronized, volatile, striclfp 제어자는 클래스나 멤버변수와 메서드에 주로 사용되며, 하나의 대상에 대해서 여러 제어자를 조합하여 사용하는 것이 가능하다. 단, 접근 제어자는 한 번에 네 가지 중 하나만 선택하여 사용할 수 있다. static - 클래스의, 공통적인 static은 '클래스의' 또는 '공통적인'의 의미를 가지고 있다. 인스..
상속(Inheritance) 상속이란, 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 상속을 통해 클래스를 작성하면 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있고 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 매우 용이하다. 이러한 특징은 코드의 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여한다. 자바에서의 상속을 구현하는 방법은 새로 작성하고자 하는 클래스의 이름 뒤에 상속받고자 하는 클래스의 이름을 키워드 'extends'와 함께 써 주기만 하면 된다. 예를 들어 새로 작성하려는 클래스 이름이 Child이고 상속받고자 하는 기존 클래스의 이름이 Parent라면 다음과 같이 코드를 쓰면 된다. class Parent { } c..
생성자(Constructor) 생성자는 인스턴스가 생성될 때 호출되는 '인스턴스 초기화 매서드'이다. 따라서 인스턴스변수의 초기화 작업에 주로 사용되며, 인스턴스 생성 시에 실행되어야 한느 작업을 위해서도 사용된다. 생성자 역시 메서드처럼 클래스 내에 선언되며, 구조도 메서드와 유사하지만 리턴값이 없다는 점이 다르다. 그렇다고 해서 생성자 앞에 리턴값이 없음을 뜻하는 키워드 void를 사용하지는 않고, 단지 아무 것도 적지 않는다. 생성자의 조건 생성자의 이름은 클래스의 이름과 같아야 한다. 생성자는 리턴 값이 없다. 생성자의 정의 클래스 이름(타입 변수명, 타입 변수명, ...){ // 인스턴스 생성 시 수행될 코드, // 주로 인스턴스 변수의 초기화 코드를 적는다. } 생성자도 오버로딩이 가능하므로 ..