본문 바로가기
TIL

[TIL] CSS Position / Java Interface

by thegreatjy 2023. 10. 12.
728x90

Position 속성값

position: <속성값>;

속성값 설명
static 기본 흐름에 따라 배치
relative 좌표 속성 사용 가능
absolute 절대 좌표 위치에 배치
fixed 절대적인 좌표 위치에 배치. 스크롤해도 고정
sticky 지정한 좌표의 임계점에 이르면 fixed로 화면 고정
z-index 요소의 앞뒤 배치. 더 큰 숫자는 맨 앞 배치

relative

.green-box{
    background-color: green;
    position: relative;
    left: 100px;
    top: 100px;
}
  • top
  • right
  • bottom
  • left

요소의 왼쪽 위 모서리가 기준점

absolute

웹 브라우저의 왼쪽 위 모서리가 기준점

.blue-box{
    background-color: blue;
    position: absolute;
    left: 200px;
}

fixed

스크롤을 하여도 위치가 고정된다.

absolute는 스크롤을 하면 위치가 이동한다.

.yellow-box{
    background-color: yellow;
    position: fixed;
    left: 50px;
    top: 200px;
}

sticky

.pink-box{
    background-color: pink;
    position: sticky;
    top: 0;
}

Java

Interface

public interface 이름 {
    public static final 상수 필드(변수)
    public 추상, 디폴트, 정적 메서드
    private 메서드, 정적 메서드
}

구현 클래스

implements

public class B implements interfaceA {}

인터페이스의 추상 메서드를 재정의한 메서드가 있다.

상수 필드(변수) static final

static final 이름 = 값

인터페이스에 선언된 필드는 모두 public static final 특성을 갖는다.

생략하더라도 자동적으로 컴파일 과정에서 추가된다.

추상 메서드

메서드 선언부만 있고 실행부{}가 정의되어 있지 않은 메서드

public abstract을 생략하더라도 자동적으로 컴파일 과정에서 추가된다.

interface A{
    public abstract void turnOn();
}
class B implements A {
    @Override
    public void turnOn(){};
}

인터페이스의 추상 메서드는 public 접근 제한을 갖기 때문에 public 보다 더 낮은 접근 제한으로 재정의할 수 없다.

디폴트 메서드

default 키워드가 리턴 타입 앞에 붙는다.

[public] default 리턴 메서드이름 (매개변수, ...) {...}

디폴트 메서드는 구현 객체가 필요하다.

상수 필드, 추상 메서드 호출이 가능하다.

public interface RemoteControl {
    // 상수 필드 (static final)
    int MAX_VOLUME = 10;
    int MIN_VOLUME = 0;

    // 추상 메서드 (public abstract)
    public abstract void turnOn();
    public abstract void turnOff();
    public abstract void setVolume(int volume);

    // 디폴트 메서드 (public default)
    public default void setMute(boolean mute){
        if(mute){
            System.out.println("무음 처리 합니다.");
            setVolume(MIN_VOLUME);
        }else{
            System.out.println("무음 제거합니다.");
        }
    }
}

구현 클래스에서 디폴트 메서드를 재정의할 수 있다.

반드시 public을 붙이고 default는 생략해야 한다.

정적 메서드

구현 객체 없이 인터페이스로 정적 메서드 호출 가능하다.

public을 생략하더라도 컴파일 과정에서 자동으로 추가된다.

[public | private] static 리턴 메서드이름 (매개변수) { }

private 메서드

구분 설명
private 메서드 구현 객체가 필요. 디폴트 메서드에서만 호출 가능
private static 메서드 구현 객체가 필요 없음. 디폴트 메서드, 정적 메서드에서 호출 가능

다중 인터페이스 구현

구현 객체는 여러 개의 인터페이스를 구현할 수 있다.

public class 클래스이름 implements A, B (){}

인터페이스 상속

public interface 자식인터페이스 extends 부모인터1, 부모인터2 { ... }

다중 상속이 가능하다.

자식 인터페이스의 구현 클래스는 자식 인터페이스의 메서드, 부모 인터페이스의 메서드를 재정의 해야 한다.


Refs

interface

https://kjh95.tistory.com/137

728x90