java 7

추상 클래스(abstract class) vs 인터페이스(interface)

목차1. 추상 클래스란?2. 인터페이스란?3.언제 추상 클래스를 사용하고, 언제 인터페이스를 사용해야 할까?  추상 클래스란?추상 클래스(abstract class): 공통된 속성이나 메서드를 포함한 클래스. 일부 메서드는 구현할 수 있고, 다른 메서드는 추상 메서드로 선언하여 하위 클래스에서 반드시 구현하도록 강제한다.단일 상속만 지원한다.추상 클래스는 객체를 직접 생성할 수는 없으나, 생성자를 가질 수 있고 하위 클래스에서 생성자를 통해 상위 클래스의 필드를 초기화 할 수 있다.예시1.추상 클래스public abstract class myAbstractClass { // abstract를 통해 추상 클래스임을 명시 public static int myField = 5; // 추상클래스는 초기화된..

java 2024.10.04

[java] MVC 패턴이란? 좋은 MVC 패턴을 구현하려면?

MVC란 model, view, controller를 의미하는 것 model(domain)이란 데이터베이스에서 정보를 가져오는 것, 더불어 oop에서는 model 내부에서 값을 가지고 값을 처리하는 기능까지 한다. * controller는 model에서 받은 데이터를 가공해 view에게 전달하거나, view에서 받은 데이터를 가공해 model에 전달해준다. view란 controller에서 받은 정보를 사용자에게 보여주는 것. 이와 더불어 service가 존재한다. service 서비스 layer란 어플리케이션의 비즈니스 로직을 말하며, 즉 도메인을 보호하는 레이어 이다. 좋은 MVC 패턴 Model 내부에 Controller와 View에 의존하지 않아야 한다. View는 Model에만 의존해야 하고, ..

java 2023.11.24

public void static main(String args)의 의미

main함수는 public이어야한다 메인함수는 어디서나 접근 가능한 함수여야 한다. 만약 private나 protected라면 그게 불가능하므로 public이다. static static은 앞에 static을 붙여주고 heap은 new 생성자 등으로 만든다. 메인 함수는 gabage collector에 죽으면 프로그램이 망가지니 static으로 설정된다. void 메인함수가 끝나면 프로그램이 종료되기에 return값이 있어서는 안된다. String args[] 메인 함수는 처음으로 실행되는 함수이기에, 외부로부터 값을 받아올 수 있어야 한다. 그래서 외부에서 받아오기 위해 String args[]를 사용하는 것이다. 이 때 배열인 이유는 여러 값을 받아올 수도 있기에

java 2023.11.24

DAO, DTO, VA란?

DTO(Data Transfer Object)의미계층간의 데이터 전송을 위한 객체이고 오직 getter, setter만 존재한다.값의 불변성을 위해 constructor로만 값을 주고, setter를 제거해 값을 바꿀 수 없게 할 수 도 있다.어떠한 비즈니스 로직도 가지면 안된다.model에서 service로 데이터를 보낼때, 값이 변하지 않도록 객체로 감싸서 보내는 것.사용하는 이유도메인 모델을 계층간 전송에 사용하면, 도메인과 뷰가 강하게 연결될 수 있다. 뷰의 요구사항 변경에 의해 도메인 코드 변경은 전체 변경을 야기해 좋지 못하다. 따라서 DTO를 사용하여 결합성을 느슨하게 하는 것.예시여기서 getter만 추가하면 된다!VO(Value Object)도메인에서 한 개 또는 그 이상의 속성들을 묶어..

java 2023.11.03

[Java] public void static main(String args)의 의미

main함수는 public이어야한다 메인함수는 어디서나 접근 가능한 함수여야 한다. 만약 private나 protected라면 그게 불가능하므로 public이다. static static은 앞에 static을 붙여주고 heap은 new 생성자 등으로 만든다. 메인 함수는 gabage collector에 죽으면 프로그램이 망가지니 static으로 설정된다. void 메인함수가 끝나면 프로그램이 종료되기에 return값이 있어서는 안된다. String args[] 메인 함수는 처음으로 실행되는 함수이기에, 외부로부터 값을 받아올 수 있어야 한다. 그래서 외부에서 받아오기 위해 String args[]를 사용하는 것이다. 이 때 배열인 이유는 여러 값을 받아올 수도 있기에

java 2023.10.26

[Java] 예외처리, throwable이란/ try,catch,throw,finally란?

Throwable 예외가 발생하면 해당 예외에 해당하는 예외 클래스의 인스턴스를 생성한다. Object 클래스를 제외하고 예외처리의 최상위 클래스는 Throwable이다 예외 처리에서 자주 사용되는 메소드 public String getMassage() 예외의 원인을 담고 있는 문자열을 반환 public void printStackTrace() 예외가 발생한 위치와 호출된 메소드의 정보를 출력 Throwable클래스를 상속하는 클래스는 주로 세가지 Error 클래스 에러 클래스를 상속하는 예외는 IOError, VirtualMarchineError등으로 우리가 처리할 수 없는 에러이다. 즉 프로그램이 종료되도록 그냥 놔둬야 한다. RunTimeException 클래스 이는 사용자가 처리할 수 있는 에러가..

java 2023.10.26