쉽게 배우는 Java 1-2
쉽게 배우는 자바 1을 듣고 몰랐던 부분과 애매하게 알고 있던 부분에 대해 잊지 않기 위하여 정리하는 글입니다.
클래스(CLASS) : Math.h라는 Class에서는 전자 자연 로의 밑수의 값을 가지는 E와 원주율 값을 가지고 있는 PI의 변수가 있고, 메서드로는 값의 절댓값을 반환하는 abs, 값의 아크 코사인을 반환하는 acos 등의 수학과 관련된 여러 가지의 메서드들이 존재한다. 이처럼 서로 연관된 변수와 메서드를 모아놓은 것을 Class라고 한다.
인스턴스(Instance) : 예를 들어 텍스트를 작성하는 클래스 printWrite에서 write("a1.txt","hello)텍스테에 내용을 적는 메서드가 있다고 가정하자 그때 파일에 대한 후속 작업, 여러 파일을 수정하는 경우 하나의 클래스를 사용하는 것보다 클래스를 복제해 각각의 다른 상태를 가지고 있는 인스턴스를 만들어 사용하는 것이 효율적일 것이다. 좀 쉽게 정리해보자면 하나의 클래스를 복제해서 서로 다른 데이터의 값과 서로 같은 메서드를 가진 복제본을 만드는 것이라 할 수 있다
상속(Inheitance) :아래 그림에서 최고정점인 클래스 Object를 상속받은 클래스 Writer는 Object의 메서드 Tostring을 사용할 수 있다. 이처럼 상속을 받게 되면 상속받은 클래스의 메서드와 변수를 따로 추가할 필요 없이 사용할 수 있게 되므로 개발하는 데 있어 매우 많은 장점을 갖게 된다. 근데 상속받은 메서드의 기능을 다르게 바꾸고 싶거나 다른 기능을 추가하고 싶을 때는 어떻게 해야 할까? 재정의(Override)을 이용하면 된다. 클래스 Writer의 메서드 write는 글의 내용을 작성하는 기능만이 있다고 가정하자 아래에서 Class PrintWriter는 클래스 Writer를 상속받았기 때문에 write는 글을 작성하는 기능밖에 없다. 이에 대해 불편을 느껴 내용 수정을 하는 기능 넣는 것을 재정의라 한다. 사용할 때에는 PrintWriter의 클래스 내에서 @Override 코드를 이용해 메서드를 재정의 할 수 있다.
Class Object
(method Tostring)
↑상속
Class Writer extend Object
(method write)
↑상속
Class PrintWriter extend Writer
(method write)