본문 바로가기
개발자/백엔드 웹 개발자 과정(국비)

2022년 11월 29일 _17회차 (final ,인터페이스)

by 초응 2022. 11. 30.

OOP

-Object Oriented Progranming 

-객체 지향 프로그래밍.

 

OOP의 4대 특징

1. 추상화

2. 캡슐화(은닉화)

3.다형성

4.상속성

OOP의 4대 특징 중 다형성이란?
하나의 클래스로 여러 개의 객체를 관리하는 기법.

다형성 기법 :  overloading, overriding,casting

 

추상메소드는 강제성을 내포하고 있다.

 

@Override / 어노테이션 : 명령어 단축키

 

[final]

final : 금지 키워드

남발하면 안되는 키워드로 static과 final 이 있다...

final + class : 상속방지

final + method : 오버라이딩 금지

final + var : 상수 (상수인것을 알려주기 위해 대문자로 써준다)

  abstract final
클래스 상속 받게 할 목적 상속을 못받게 하는것이 목적
메소드 강제 오버라이딩 목적 오버라이딩 방지
변수 사용안함 상수 지시
final public static
//final + class : 상속 금지
//final + method :오버라이딩 금지
//final + var(변수) : 상수

package day17;
class Super{
	public static final int A =10;//(상수)
	 public void test1() {
		System.out.println("test1()메서드 수행됨");
	}
	
}

class Sub extends Super{
		int b = 20;
		public void test2() {
			System.out.println("test2()메서드 수행됨!");
		}
		public void test1() {
			System.out.println("A="+A);
			System.out.println("test1()메서드 재정의!");
//			a = 30;
//			System.out.println("a="+a);
		
		}
}
public class FinalTest {

	public static void main(String[] args) {

		Super sp = new Super();
		System.out.println("sp.a="+sp.a);
		sp.test1();
		
//		Sub sb = new Sub();
//		System.out.println("sb.b="+sb.b);
//		sb.test1();
//		sb.test2();
	}

}

[인터페이스 (추상메서드의 집합, implements)]

-자바의 단일 상속의 제약을 보완하기 위해 새롭게 제안한 다중상속 개념.

-인터페이스는 구현을 한다라고 표현한다.(내가 만들어서 쓴다라는 뜻)

/*인터페이스 형식

접근지정자 interface 인터페이스명 extends 인터페이스{
추상메소드들;
}


*/

인터페이스 특징

1. 명세역할을 한다. (메뉴판) : 어떤 이름으로 만들지 메뉴판을 알려준다.

2. 기능의 확장

3. 객체의 관리

 

인터페이스 메서드 생성시 abstract는 안써도 된다. 인터페이스는 추상메서드만 올 수 있기때문에