목록Programing & Coding (86)
S E P H ' S
변수 - 변수는 지역변수 ( Loval variables ) 와 멤버변수로 구분된다. - 지역변수는 초기화가 필수이며, 멤버변수는 자동 초기화가 지원 된다. ( 클래스 차원에서 선언 ) - 변수명은 식별자 작성 규칙에 맞춰서 작성하고, 주로 소문자로 작성된다. 변수의 초기 값 JAVA에서는 멤버변수를 선언하고 초기화 하지 않는 경우 아래와 같이 멤버변수를 초기화 한다. DataType 초기값 DataType 초기값 byte 0 short 0 int 0 long 0L float 0.0f double 0.0d char '\u0000' boolean false 객체 null public class 변수초기화 { int a; static int c; public static void main(String[] a..
생성자(Constructor) 생성자는 new 연산자를 통해 인스턴스를 생성할 때 반드시 호출이 되고 제일 먼저 실행되는 일종의 메소드이다. 생성자는 인스턴스 변수(필드 값 등)를 초기화 시키는 역할을 한다. 생성자 종류 및 사용 클래스를 정의할 때 생성자를 생략하면 컴파일러가 자동적으로 기본 생성자 (Default Constructor)를 생성하여 준다. public class ConstructorEx01 { //public ConstructorEx01(){ } // Default Constructor 자동 생성 public static void main(String[] args) { ConstructorEx01 ce = new ConstructorEx01(); // 인스턴스 생성 및 생성자 호출 } ..
Java 8 이전에서 추상클래스와 인터페이스의 가장 큰 차이점은 메소드 구현부를 가질 수 있느냐 없느냐 였다. 하지만 Java 8 부터 인터페이스도 default 키워드를 사용해 메소드 구현부를 가질 수 있게 되면서 그 차이점이 모호해졌다. 그래서 둘의 차이점이 여전히 존재하는지에 대한 궁금증이 생겨 조사하고 정리해보았다. 추상클래스 vs 인터페이스 ( JAVA 8 기준) 인터페이스 추상클래스 공통점 - 객체 생성 불가능 - 구현부가 있는 메소드와 없는 메소드 모두 가질 수 있음. 차이점 - 모든 변수는 기본적으로 public static final - 모든 메소드는 public abstract - 다른 여러개의 인터페이스들을 구현할 수 있다. - static이나 final이 아닌 필드 지정 가능 - p..
일반 객체를 interface로 타입 설정하기 interface Person { name: String; age?: number; } interface Developer { name: string; age?: number; skills: string[]; } const person: Person = { name: '김사람', age: 20 }; const expert: Developer = { name: '김개발', skills: ['javascript', 'react'] }; Person 인터페이스와 Developer 인터페이스가 형태가 유사한것을 볼 수 있다. 이럴때는 Developer 인터페이스에서 Person인터페이스를 extends 해서 상속받을 수 있다. interface Person { na..