Static Keyeord
Member Variable, Member Method 앞에 사용
일반적으로 멤버변수나 멤버메소드는 한 객체에서 의미가 있음
static 키워드를 사용하면, 한 객체가 아닌 클래스 자체와 연관
class변수, class메소드라고도 불림
객체 생성 없이 사용한다.
static 변수는 객체 생성과 관련이 없이 그냥 유지된다.
Class 로드시에 메모리에 생성되어진다.
전체 객체에서 공용으로 쓰이는 변수이다. (전역적인 성격)
만약 다른 클래스에서 사용되어지면 클래스이름.변수명 으로 참조
public class Count {
private int serialNumber;
public static int counter = 0;
public Count() {
counter++;
serialNumber = counter;
}
}
public class TestCount {
public static void main( String [] args ) {
System.out.println( "Number of counter is " + Count.counter );
Count count1 = new Count();
System.out.println( "Number of counter is " + Count.counter );
Count count2 = new Count();
System.out.println( "Number of counter is “ + Count.counter );
}
}
final class = 상속 못 하게 함.
final method = override 못하게 함.
final variable = 상수
final variable
- 선언 시 초기화 안할 수 있다.
Interface(인터페이스)
abstract보다 더 추상화 된 개념
모든 메서드가 다 추상.
묵시적으로 public abstract 가 다 붙는다.
모든 메소드가 abstract 메소드인 클래스
메소드는 묵시적으로 public abstract
멤버변수는 묵시적으로 public static final
implements 키워드로 구현
다중 구현 가능 단일 상속 극복
객체 생성은 안되나, Ref 변수로서는 가능하다.
ex) Recording app = new MP3();
Interface의 장점
공통 기능상의 일관성 제공
공동 작업을 위한 인터페이스 제공
J2SE JDBC 의 interface 구현 - DB Vendor
J2EE JDBC 의 Interface 구현 - WAS Vedor
WAS(Web Application SErver) : Tomcat
Web Server - Apache, Nginx
Servlet/JSP
HTML/CSS/Javascript -> Servlet/JSP -> JDBC App class
이렇게 해야지 Dynamic한 Web App 만들 수 있다.
'Dev > [Java]' 카테고리의 다른 글
[JAVA] 7. Lambda 람다 (0) | 2021.01.20 |
---|---|
[JAVA] 6. Collection (0) | 2021.01.20 |
[JAVA] 4. Polymorphism 다형성 (0) | 2021.01.19 |
[JAVA] 3. ObjectOrientedProgramming(OOP), 예외처리 (0) | 2021.01.19 |
[JAVA] 2. 데이터타입, 접근제한자, 제어문, 롬복 (0) | 2021.01.18 |