목록JAVA (27)
코딩 이야기
메소드 재정의 부모 클래스의 모든 메소드가 자식 클래스에 맞게 되어 있다면 이상적이지만, 어떤 메소드는 자식 클래스가 사용하기에 적합하지 않습니다.이 경우 상속된 일부 메소드는 자식 클래스에서 다시 수정해서 사용해야 하는데 이것을 메소드 재정의라고 합니다. 메소드 재정의 방법 부모의 메소드와 동일한 시그니처(리턴 타입, 메소드 이름, 매개 변수 목록)를 가져야 합니다. 접근 제한을 더 강하게 재정의할 수 없습니다. 새로운 예외(Exception)를 throws할 수 없습니다. * 접근 제한을 더 강하게 재정의할 수 없다 : 부모 메소드가 public 접근제한을 가지고 있을 경우 재정의하는 자식 메소드는 default나 private접근제한으로 수정할 수 없다는 뜻입니다. 단, 반대의 경우는 가능합니다. ..
객체 지향 프로그래밍에서도 부모 클래스의 멤버를 자식 클래스에게 물려줄 수 있습니다. 프로그램에서는 부모 클래스를 상위 클래스라고 부르고 자식 클래스를 하위 클래스 또는 파생 클래스라고 부릅니다. 클래스 상속 자식 클래스를 선언할 때 어떤 부모가 클래스를 상속받을 것인지 결정하고, 선택된 부모 클래스는 다음과 같이 extends 뒤에 기술합니다. class 자식 클래스 extends 부모클래스{ //필드 //생성자 //메소드 } 자바에서 상속의 특징 1.여러 개의 부모 클래스를 상속할 수 없습니다. 그러므로 다음과 같이 extends 뒤에는 단 하나의 부모 클래스만 와야합니다. class 자식클래스 extends 부모클래스1, 부모클래스2 { } (여러개의 부모클래스는 올 수 없다.) 2.부모 클래스에서..
접근 제한자란 클래스 및 인터페이스 그리고 이들이 가지고 있는 멤버의 접근을 제한하기 위해 사용한다. 클래스와 인터페이스를 다른 클래스에서 사용하지 못하도록 하거나 객체 생성을 막기 위해 생성자를 호출하지 못하게 하거나 필드를 메소드를 사용하지 못하게 막아야하는 경우에도 사용된다. 접근 제한자는 3가지 종류가 있는데, public, protected, private 가 있습니다. public 접근 제한자 : 단어 뜻 그대로 외부 클래스가 자유롭게 사용할 수 있게 합니다. protected 접근 제한자 : 같은 패키지 또는 자식 클래스에서 사용할 수 있게 합니다. private 접근 제한자 : 단어 뜻 그대로 개인적인 것이라 외부에서 사용될 수 없도록 합니다. 위 3가지 접근 제한자가 적용되지 않으면 de..
싱글톤 가끔 전체 프로그램에서 단 하나의 객체만 만들도록 보장해야 하는 경우가 있습니다. 단 하나만 생성된다고 해서 이 객체를 싱글톤이라고 부릅니다. 싱글톤을 만들기 위해 클래스 외부에서 new 연산자로 생성자를 호출할 수 없도록 막아야 합니다. (생성자를 호출한 만큼 객체가 생성되기 때문) 생성자를 외부에서 호출하지 못하게 하기 위해 생성자앞에 private 접근 제한자를 붙여줍니다. 그리고 자신의 타입인 정적 필드를 하나 선언하고 자신의 객체를 생성해 초기화 합니다. 참고로 클래스 내부에서는 new 연산자로 생성자 호출이 가능합니다. 정적 필드도 private 접근 제한자를 붙여 외부에서 필드값을 변경할 수 없게합니다. 대신 외부에서 호출할 수 있는 정적 메소드를 선언하고 정적 필드에서 참조하고 있는..