method

· Java
디폴트 메서드(default method)란? 보통 인터페이스는 규칙을 잡거나, 서비스의 플로우 로직을 잡는 데 사용하곤 한다. 하지만 인터페이스를 구현하는 클래스에서는 메서드를 모두 구현해야하기 때문에 인터페이스에 메서드를 추가할때 문제가 발생한다. 메서드 하나를 추가하려면 해당 인터페이스를 구현하는 모든 클래스에서는 해당 메서드를 모두 구현해줘야 하는 것이다. Java8에서는 이러한 문제를 해결하기 위해 2가지 방법을 제공한다. 인터페이스 내부에 정적 메서드(static method)를 사용한다. 인터페이스의 기본 구현을 제공할 수 있도록 디폴트 메서드(default method) 기능을 사용한다. 인터페이스에 디폴트 메서드를 사용하여 메서드를 구현할 수 있다. 디폴트 메서드를 이용하면 인터페이스의 ..
· Java
메서드(Method)에 예외(Exception) 선언하기 메서드 선언부에 키워드 throws를 사용해서 메서드 내에서 발생할 수 있는 예외를 선언할 수 있다. 예외가 여러개일 경우 쉼표(,)로 구분한다. 이런 경우 예외가 처리된것이 아니고 단순히 전달만 하는 것이다. void method() throws Exception1, Exception2 { ... } 이렇게 예외를 선언하면 자손타입의 예외까지도 발생할 수 있다는 점을 주의해야 한다. 그렇게 때문에 try-catch문을 사용해 중간에 예외 처리가 되어야 한다. 오버라이딩할 때는 단순히 선언된 예외의 개수가 아니라 상속관계까지 고려해야 한다. // try-catch문을 사용하지 않았을때 public static void method1() throws..
· DDD
참조 투명성 관련 문제 public class OrderLine { privateProduct product; private Money price; private int quantity; public OrderLine(Product product, Money price, int quantity) { this.product = product; this.price = price; this.quantity = quantity; } } Product product = new Product("티셔츠"); Money price = new Money(1000); OrderLine line = new OrderLine(product, price, 2); // OrderLine에 price값이 변경될 수 있다. pric..
· Java
메서드란? 특정 작업을 수행하는 일련의 문장들을 하나로 묶은 것이다. 메서드는 작업을 수행하는데 필요한 값만 넣고 원하는 결과를 얻으면 될 뿐, 내부적으로 어떤 과정을 거쳐 결과를 만들어내는지 전혀 몰라도 된다. 이를 내부가 보이지 않는 '블랙박스(black box)'라고도 한다. 메서드는 크게 '선언부(header, 머리)' 와 '구현부(body, 몸통)'으로 이루어져 있다. 메서드 선언부(method declaration, method header) 작업을 수행하기 위해서 어떤 값들을 필요로 하고, 작업의 결과로 어떤 타입의 값을 반환하는지에 대한 정보를 제공한다. 메서드의 선언부를 변경하게 되면, 그 메서드를 호출하는 모든 곳도 같이 변경해야되기 때문에 변경사항이 발생하지 않도록 신중히 작성해야 한..
· Java
JVM(Java Virtual Machine)이란? 자바를 실행하기 위한 가상 기계(컴퓨터) 자바로 작성된 애플리케이션은 모두 이 가상 컴퓨터(JVM)에서만 실행되기 때문에, 자바 애플리케이션이 실행되기 위해서는 반드시 JVM이 필요하다. 일반 애플리케이션의 코드는 OS만 거치고 하드웨어로 전달되는데 비해 Java 애플리케이션은 JVM을 한 번 더 거치기 때문에, 그리고 하드웨어에 맞게 완전히 컴파일된 상태가 아니고 실행 시에 해석(interpret)되기 때문에 속도가 느리다는 단점을 가지고 있다. 하지만 하드웨어의 기계어로 바로 변환해주는 JIT컴파일러와 향상된 최적화 기술이 적용되어서 속도의 격차가 많이 감소한다. JVM의 메모리 구조 응용 프로그램이 실행되면 JVM은 시스템으로부터 프로그램을 수행하..
beekei
'method' 태그의 글 목록