본문 바로가기

자바36

[JAVA 기초] 자바 인터페이스 (interface) 인터페이스는 abstract, final과 함께 대표적인 규제이다. 어떤 객체가 특정한 인터페이스를 사용한다면 그 객체는 반드시 인터페이스의 메소드를 구현해야 한다. 만약 인터페이스에서 강제하고 있는 메소드를 구현하지 않으면 해당 파일은 컴파일조차되지 않는다. 인터페이스의 본질 "psf,pa" 1) 모든 변수는, public static final이다. 2) 모든 메서드는, public abstract이다. ----> 즉, 인터페이스는 본질상 "상수 + 추상메서드"의 구성이다. 인터페이스를 사용하는 경우 "A프로그래머와 B프로그래머가 하나의 프로젝트를 진행할 때, A와 B가 서로의 클래스가 완성되지 않았어도 구현해야 할 기능들을 미리 협의하고 반환 타입까지를 정해놓으면(=인터페이스 작성), 서로의 작업 .. 2021. 4. 9.
[JAVA 기초] 추상클래스와 추상메서드 (abstract) 추상(abstract)은 '미완성 딱지'와 같다고 보면 된다. 1) '미완성 딱지'가 붙은 클래스(abstract class) 는 '객체 생성'을 하지 못한다. 2) '미완성 딱지'가 붙은 메서드(abstract method) 를 가지고 있는 클래스는"반드시" 미완성 딱지(abstract)를 붙인다. 3) 미완성 메서드(abstract method)의 선언에는, 중괄호{ } 대신에 세미콜론(;)을 쓴다. abstract 클래스나 메소드를 사용하기 위해서는 반드시 상속해서 사용하도록 강제하는 것이 abstract 이다. 즉 추상클래스는 상속을 강제하기 위한 것이며 부모클래스에서는 메소드의 틀만 정해놓고 그 메소드의 실제 동작방법은 상속받은 하위 클래스의 책임으로 위임하고 있다. 다음을 보면 추상(abstr.. 2021. 3. 29.
[JAVA 기초] 자바 다형성(polymorphism) 다형성은 객체지향언어에서 객체의 자료형을 변경하는 것을 말한다. 1 다형성이란? 다형성은 사전적 의미로는 '여러 형태 가지는 성질'을 뜻합니다. 객체지향 개념에서 다형성은 '한 가지 타입이 여러 가지 형태의 인스턴스를 가질 수 있다'라는 의미이다. 특히, 부모타입 변수에는 모든 자식 인스턴스들이 대입될 수 있는데, 이점은 객체지향언어의 중요한 특징 중 하나이다. 지금까지는 인스턴스를 생성하고 참조변수에 할당할 때 인스턴스와 참조변수의 클래스 타입을 동일하게 작성했다. A obj = new A(); 그러나 다형성의 정의에 따라 조상 클래스 타입의 참조변수로 자손 클래스 타입의 객체를 참조할 수도 있다. A obj = new B(); ( 클래스 B가 A를 상속할 때) 클래스 B의 데이터 형이 클래스 A이다... 2021. 3. 12.
[JAVA 기초] 자바 제어자 제어자란 클래스나 멤버의 사용을 제어하기 위해 사용된다. 제어자의 종류에는 외부에서 접근하는 것을 막는 접근제어자와 클래스 멤버를 의미하는 static, 상수를 만들거나 상속을 종결시키는 final 등이 있다. ① static 필드의 선언 또는 메서드의 정의문 앞에 "static" 키워드를 붙이면 클래스변수, 클래스메서드가 되어 클래스 멤버가 된다. 클래스 멤버는 처음 클래스가 메모리에 로드될 때 생성되기 때문에 인스턴스를 생성하지 않아도 사용 가능하다. ② final - 변수 앞 : 변수가 상수가 된다. 값을 더이상 변경할 수 없어진다. (ex) final double pi = 3.14; // 상수 // pi += 1; // ERR. // 4.14 - 메서드 앞 : 메서드 오버라이드가 금지된다. - 클.. 2021. 3. 12.