클래스 생성에 대한 예제 및 설명

2018. 9. 4. 12:44·JAVA

import java.util.Calendar;

import java.util.GregorianCalendar;

public class CalendarTest {
public static void main(String[] args) {
// Calendar 는 추상클래스이기 때문에 new 를 이용해서 인스턴스를 생성할 수 없다.

// 객체 생성 과정을 숨기는 것.
// Calendar 은 추상클래스라서 인스턴스를 만들 수 없다.
// getInstance() 는 return 값이 Calendar 이지만 실제로는 Calendar 를 반환하는 것이 아니라.
// Calendar 의 자식 클래스들 중에 하나다가 반환 되는 것이다.
Calendar cal2 = Calendar.getInstance();

// 위와는 달리 객체 생성 과정을 숨기는 것이 아니다.
Calendar cal1 = new GregorianCalendar();

System.out.println(Calendar.AM);
System.out.println(Calendar.MONTH);

      System.out.println(cal2.get(Calendar.YEAR));

// 8 출력된다. 월 값들이 배열에 들어가있는데. 현재 월의 배열 위치를 읽기 때문에 -1 되어있는 값이 나오는 것이다.
System.out.println(cal2.get(Calendar.MONTH));
System.out.println(cal2.get(Calendar.YEAR));
System.out.println(cal2.get(Calendar.DAY_OF_MONTH));



}
}


 추상클래스는 new 연산자를 이용해서 인스턴스를 생성할 수 없다.  


ex) 자동차 - 추상클래스 , 버스와 승용차가 자동차의 자식클래스면

Car car = new Car();   이렇게 생성할 수 없다.

Car car = new Bus();  이렇게 생성은 가능하다.





public class MathTest {
public static void main(String[] args) {
// Math 는 생성자가 없다. (사실 api 문서내에 private 생성자가 존재하긴 함)
// 생성자가 없는 클래스는 static 한 메소드가 있는지 본다.
// static 한 메소드는 클래스명.메소드명() 으로 사용한다.

int value = Math.abs(-1);
System.out.println(value);
}
}



main 메소드에 static 붙은 이유?


 JVM 이 해당 인스턴스를 생성하지 않고 main 메소드를 실행하게 만들기 위해서.    (인스턴스를 만들고 사용하겠다면 생성자를 만들면 된다.)



반응형
'JAVA' 카테고리의 다른 글
  • 자바 스레드.
  • 자바 제네릭 타입에 대해 알아보자.
  • 추상클래스와 인터페이스
  • 자바 컬렉션
Jadie Blog
Jadie Blog
  • Jadie Blog
    Jadie
    Jadie Blog
  • 전체
    오늘
    어제
    • 분류 전체보기 (44)
      • OOP (7)
      • DDD (1)
      • JAVA (8)
      • Spring (12)
      • Kafka (1)
      • TDD,Test (4)
      • Basic (1)
      • ETC (1)
      • MySQL (0)
      • Javascript (0)
      • Spark (3)
      • Infra (2)
      • Algorithm (0)
      • Network (1)
      • Jobs (0)
      • 일상 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

    • 휴튼
  • 공지사항

  • 인기 글

  • 태그

    JPQL
    slave
    객체지향
    Transactional Outbox
    java
    MASTER
    Spring
    routingdatasource
    캡슐화
    OAuth2 #Spring
    글또
    테스트
    메시징시스템
    Kafka
    객체지향사실과오해
    springboot
    jpa
    우아한스터디
    entitymanager
    Resilience4jFeign
    HTTP #HTTPS
    추상클래스 #인터페이스
    localdatetime
    Spring #ApplicationContext
    JAVA #IO
    API문서
    OOP
    의존역전원칙
    MSA
    Test
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
Jadie Blog
클래스 생성에 대한 예제 및 설명
상단으로

티스토리툴바