본문 바로가기

Java

[Java] Date 자바에서 유용하게 쓸 수 있는 기능 중 하나인LocalDate 기능에 대해서 알아봅시다.LocalDate는 날짜와 시간을 알 수 있는 클래스 입니다.import를 사용해서 쓸 수 있는 기본 내장 기능입니다. import java.time.LocalDate;import java.time.LocalDateTime;import java.time.LocalTime; public class DateMain { public static void main(String[] args) { System.out.println(LocalDate.now());- 현재 날짜를 출력합니다. System.out.println(LocalTime.now());- 현재 시간을 가져옵니다.System.out.println(LocalDate.. 더보기
[Java] 에러 핸들링 프로그램 실행할 때 콘솔창에 빨간글씨로 ~~~ 나오는 것을 뭐라고할까요? 3가지 정도로 생각해볼 수 있습니다. error warningexception 차례차례 살펴보겠습니다. error는 Java의 문법에 안맞게 써서 컴파일이 불가능한 상태입니다.에러가 발생하게 된 원인은 오롯이 개발자의 잘못입니다.에러가 난 상태에서 실행하면 완성본은 절대 나오지 않습니다. Warining은 지저분한 형태의 코드를 말합니다.이 역시도 개발자 잘못인데 컴파일은 가능하니완성본은 나오게됩니다.하지만 이클립스가 경고문을 출력합니다.ex) Scanner 객체 만들고 나서 이 기능을 안 닫을시 경고문 출력 Excaption은 프로그램이 100%완성되었는데실행할 때 뭔가 외부적인 요인에 의해서 작동이 제대로 안되는 상황입니다.이때.. 더보기
[Java] GUI(Graphical User Interface) 자바에는 AWT, Swing, JavaFX 등의 GUI(Graphical User Interface) 프로그램이 있습니다. AWT : 자바 초창기에 나온 GUI 라이브러리운영체제에 따라서 모양이 다 달랐기 때문에, 종류도 상당히 제한적이었다. Swing : AWT 다음으로 등장한 라이브러리윈도우 프로그램은 자바로 구현하지 않는데그 이유는 느리고  더 최적화된 C언어라인이 있기 때문입니다. JavaFX : Swing의 느린 처리속도를 보완해서 출시된 GUI입니다.다양한 기능들이 추가되었고 따로 외관 꾸미는 것도 가능해졌습니다.하지만 여전히 웹/앱쪽에서 구현하면 되기 때문에 그닥 잘 사용되지는 않습니다. 요즘은 윈도우 프로그램은 잘 안만드는 추세이고웹이나 앱쪽으로 넘어가고 있습니다.결론적으로 디자인도 별로고.. 더보기
[Java] 행성 행성에 대한 프로그램을 만들어보겠습니다. 요구 조건행성(이름, 크기, 보이는지 안보이는지)에 대한 클래스사람 (이름)에 대한 클래스이름이 '지구'인 행성 생성(행성 이름)'고길동'인 사람 생성(사람 이름)이 행성에 사람이 입주(텍스트로) 먼저 행성에 대한 클래스를 만들어 보겠습니다.package com.puft.dec161.main;public class Planet { String name; int size; Boolean isLook; 행성의 이름인 name,크인 size보이는지에 대한 여부인 isLook을 속성으로 넣어주고자동 완성으로 생성자를 생성해줍니다.  public Planet() { // TODO Auto-generated constructor stub}public Planet(String.. 더보기
[Java] Factory 팩토리 패턴(Factory Pattern)은 객체 생성 디자인 패턴 중 하나로객체를 직접 생성하는 대신 객체 생성을 담당하는 별도의팩토리 메소드 또는 팩토리 클래스를 사용하여 객체를 생성하는 방식입니다.팩토리 클래스를 만들어서 팩토리 메소드를 만들어보겠습니다. public class Academy {private int studentCount; public Student consult(String name, int age) { studentCount++; Student s = new Student(name, age, studentCount); return s; }} Student Consult라는 메소드에서Student객체의 생성자에 들어가는 변수들을메소드의 파라미터로 받아서객체를 생성하고객체를 리턴합니.. 더보기
[Java] 싱글톤 (Singleton) 객체를 여러개 찍어내더라도객체가 유일한 객체이고 싶게 하려면 어떻게 할까요?이름이 다른 객체를 2개 생성하고주소값을 출력해보면 서로 다른 것을 확인할 수 있습니다. Puft p = new Puft("김래현", 26, "puft");Puft p2 = new Puft("김래현", 26, "puft"); -----------------------------------------------------com.puft.dec135.main.Puft@139a55com.puft.dec135.main.Puft@1db9742 여기서는 싱글톤 패턴을 이용하면 되는데요.싱글톤 패턴이란클래스가 최초 한번만 메모리를 할당하고 (static)그 메모리에 객체를 만들어서 사용하는 디자인 패턴입니다.고정된 메모리 영역을 얻으면서 한번.. 더보기
[Java] 다형성(Polymorphism) 다형성이란 여러 형태를 가질 수 있는 능력을 말합니다.자바에서 다형성은 이름의 메소드나 객체가 다양한 방식으로 동작하는 특성을 말합니다.다형성이라는 특징을 사용하면상위타입 변수에 하위타입 객체를 담는 것이 가능합니다. 같은 형태이지만 다른 기능을 할 수 있게됩니다.이는 Overriding과 밀접한 관련이 있습니다. 예를들어Avengers 타입의 변수에 Ironman 객체를 담을 수 있는데 Ironman i = new Ironman("a", 123,123123); Avengers a = new Ironman("b", 123 ,1231323);이렇게 상위 클래스 타입에  하위 클래스 타입의객체를 참조하게 되면상위 클래스에서 하위클래스의 멤버 변수나메소드도 접근할 수 있게됩니다.즉, 코드의 유연성과 확장성이 .. 더보기
[Java] 추상화 (abstract) 추상화는 공통의 속성이나 기능을 묶어서 이름을 붙이는 것입니다.abstract메소드는 미완성 메소드인데하위클래스에서 반드시 오버라이딩 해야합니다.abstract메소드가 하나 이상 있으면해당 클래스는  추상클래스나 interface로 활용되어야 합니다.추상 클래스는 사용할 클래스들의 공통적인 속성,기능들을 추출해어느정도 규격을 잡아놓은 추상적인 클래스입니다. public abstract void roar(); 상위 클래스에서 추상메소들 구현해놓으면 public class Bird extends Animal { private int leg;public Bird(String sort, int age, int leg) { super(sort, age); this.leg = leg;}@Override public.. 더보기