목록PreSTC (31)
Gentle Breeze
객체지향 - 추상화 - 객체의 속성과 행위 중에서 필요한 것을 드러내어 클래스(필드, 메소드)로 정하는 것. - 상속 - 하위클래스에서 물려주거나 상위에서 물려받거나 - 상위에 정의된 필드와 메소드를 물려받아서 사용할 수 있다. - 클래스 - 내부에 있을수 있는 것 - 필드, 생성자, 메소드 - 필드(클래스, 인스턴스) - 메소드(static, nonstatic) - 추상, 인터페이스 - 캡슐화 - 묶는다. (여러 데이터와 함수를 하나의 class로 묶는다.) - 감춘다. (내부의 데이터나 함수를 private, protected로 정하여 감춘다.) - 다형성(Overloading, Overriding) - 동일한 이름으로 메소드를 정하여서 사용한다. - 상위에 있는 메소드를 다시 정의하여 사용한다.
인터페이스는 - 일종의 추상클래스이다. - 내부엔 메소드 선언만이 가능하다. - 추상클래스는 선언도 되고, 정의도 된다. - 기능을 대변하는 역할을 한다. - 객체생성되지 않는다. - 변수를 가질수 없다. 내부에 정해지는 변수는 모두 상수로 처리된다. - 객체나 컴포넌트가 제공하는 서비스를 알리는 역할을 한다.(차후 추가 설명) - 하위클래스에, 인터페이스에 선언된 메소드를 구현해야한다. - 타입으로는 사용가능하다. - 인터페이스의 하위클래스는 여러 인터페이스를 상속받을 수 있으며 다른 클래스를 상속받을 수 있다. (eg : Vector) 자바에서는 implements라는 키워드를 사용하여 이를 표현하고 있다. 예) public interface Transportable { public abstract ..
예제) public class A { public static void main(String[] args) { } } abstract class AbstractClass { abstract AbstractMethod(); } class Child1 extends AbstractClass { // field variables AbstractMethod() { System.out.println("Child1"); } } class Child2 extends AbstractClass { // field variables AbstractMethod() { System.out.println("Child2"); } } ======================================================..
Method Overriding class Main { public static void main(String[] args) { Parent p = new Parent(); Parent c = new Child(); p.method1(); } } class Parent { method1() {}; } class Child { method1() { ......; } method2() {} } ================================================================ 위와 같은 경우 Parent p는 Child class로 선언이 되었으며 method1()을 사용할 경우 Child class의 method1()부터 찾아서 실행을 시키게 된다. 만약 Child clas..
정리하기 - 자바는 클래스단위로 코딩한다.(C언어는 함수단위이다.) - 클래스 내부에는 - 필드 - 인스턴스, 클래스 필드(static) - 메소드 - static을 붙이면 생성하지 않고도 사용할 수 있다. - 생성자 - 일종의 함수 - 리턴이 없다. - 오버로딩(Overloading)될 수 있다. (동일한 이름의 생성자가 여럿 있을 수 있다. 단지 매개변수의 타입이나 개수가 달라야 한다.) - 필드를 초기화하는데 사용된다. - new연산자로 호출된다. - 패키지 - 마치 폴더처럼 사용되는데 항상 소문자로 표현하고 다른 패키지의 클래스를 사용하려면 import를 써야한다. - public 이어야 참조가 가능하다. - java.util.Calendar로 참조한다. 자바클래스를 실행하려면 c:\>java j..