반응형
Notice
Recent Posts
Recent Comments
Link
NOW OR NEVER
[JAVA] Class와 InterFace 본문
반응형
Class와 InterFace
- 변수 사용 할 수 있냐 없냐 여부는 해당 변수를 사용하고자 할 때 그 변수가 메모리에 저장되어 있으면 사용 가능
static
- 객체를 생성하지 않아도 사용 할 수 있다. : static으로 변수 선언 시 객체를 생성하기 전에 이미 변수가 만들어져 있다.
- static 메서드는 객체를 생성하지 않아도 사용 가능한 메서드이기에 메소드 안에 들어가는 것(매개변수, static 변수들 등)들은 static만 사용할 수 있다.
- static으로 선언한 메서드 안에서 객체를 생성해야지만 만들 수 있는 멤버변수 선언은 불가능하다
- static 변수는 static 메서드에서 사용하는 변수이거나 프로그램 전체에서 1개만 있는 값일 경우 사용하는 것이 편하다.
- 하나밖에 없거나 멤버변수 사용하지 않을 때 static 메서드 사용한다고 생각하면 된다.
- 접근 제한자 같이 사용 가능
- main 메서드 의 경우도 static 붙여져 있는 이유: jvm이 클래스를 호출하지 않고 해당 메서드를 직접 호출하기 위해서이다
final
- 목적 : 클래스가 가지고 있는 메서드를 오버라이딩하지 못하게 함
- 상수 정의하기 위해 사용할 수도 있지만 다른 용도로도 사용
- 상속하지 못하게 함
- 프로그램 실행 중에 절대로 변경되면 안되는 것들을 final로 정의한다.
- final 붙여주면 해당 메서드는 overriding 불가
- 더이상 변경할 수 없다라는 의미를 가진 키워드
추상 클래스
- 메서드의 오버라이딩을 강제화 하기 위해서 사용
- 객체 생성되지 않게 하고 무조건적으로 상속해서 만들게 함
interface
- 전부 추상 메서드만 가지고 있음
- 상속이 아닌 구현의 개념
- 동시에 많은 클래스 구현 가능
- 원래 추상메서드만 가질 수 있었는 데 개발자들의 요구로 그냥 메서드도 추가할 수 있게 됨
ETC
- 자바는 다중 상속을 지원하진 않지만 인터페이스를 이용해서 다중 상속처럼 이용하라고 함, 하지만 인터페이스를 이용해서 다중 상속처럼 하는 건 복잡해지기에 이용하지 않는 것을 추천함
- 객체 지향 프로그래밍에서 클래스의 목적 : 객체를 생성하기 위한 설계도의 역할
- 객체 지향 프로그래밍에서 코드의 재사용성이 중요하다.
- 변수 사용 할 수 있냐 없냐 여부는 해당 변수를 사용하고자 할 때 그 변수가 메모리에 저장되어 있으면 사용 가능
'Back-End > JAVA' 카테고리의 다른 글
[JAVA] Thread & 예외 처리 & 클래스 & 컬렉션 (0) | 2023.07.26 |
---|---|
[JAVA] 오버라이딩과 접근제한자 & 캡슐화 (0) | 2023.05.03 |
[JAVA] 상속과 다형성 (0) | 2023.05.02 |
[JAVA] 자바 클래스 & 메서드 (0) | 2023.04.28 |
[JAVA] 제어 문 (0) | 2023.04.28 |