스프링 프로젝트 JUnit 테스트에서 Method 'initializationError' not found. Opening the test class. 가 발생하는 원인은,

프로젝트에 JUnit 라이브러리가 추가되지 않았기 때문입니다.

아래의 과정을 거쳐 라이브러리를 등록 해주세요.

 

 

 

1. 프로젝트 우클릭 -> Properties -> Java Build Path -> Libraries -> Add Library

 

 

 

2. JUnit 선택

 

 

 

3. 의존성 추가된 JUnit 버전을 선택 하세요. 저는 JUnit4를 사용중입니다.

 

 

 

 

4. 등록 후 Apply and Close를 클릭 하고 실행 하시면 됩니다.

 

스프링 프로젝트를 진행 하다보면 IDE(이클립스 or STS 등) 을 사용 하는데, 

가끔씩 'Problems opening an editor. Reason: {project name} does not eixist' 에러가 발생 합니다.

2개 이상의 프로젝트가 맞물려 작동하는 계층 구조에서 상위 프로젝트를 import 하지 않았거나, 'Close Project' 된 경우 주로 발생 합니다.

 

1. 프로젝트 Close 여부. 아래 그림은 프로젝트가 closed된 경우입니다.

 

2. 프로젝트가 import 되지 않은 경우. import해주시면 됩니다.

 

3. import 했는데도 안 될때. (Gradle 이나 Maven 의 빌드를 우선 진행 하시고, 그래도 안되면 아래르 따라해주세요)

3-1. 프로젝트 -> 우클릭 -> Project Facets -> Convert to faceted form

 

3-2 . Application 체크 -> Apply and Close

OOP의 4대 특성중에는 다형성(Polymorphism)은 같은 자료형이지만 다양한 변수나 메소드를 대입하여 다양한 결과를 얻어내는 능력을 말합니다.

 

오버라이딩(Overriding)

- 상위 클래스에서 선언된 메소드를 하위 클래스에서 재정의 해서 사용하는 방식입니다.

- 부모 클래스의 생성자를 자식 클래스에서 선언하는 것(super()) 도 오버라이딩입니다.

- 오버라이딩의 충족 조건(1. 메소드 이름, 2. 메소드 매개 변수의 숫자와 데이터 타입&순서, 3. 메소드 리턴 타입)

 

오버로딩(Overloading)

- 메소드명은 같지만 리턴 타입이나 매개변수에 다르게 해서 여러가지 메소드를 선언 하는 방식입니다.

- 하나의 메소드 이름으로 여러 기능을 구현 할 수 있습니다.

- 매개 변수가 다르거나 리턴 타입이 달라야 합니다. 

- 하지만 리턴 타입이 달라도 매개 변수가 같으면 안됩니다.

 

오버라이딩과 오버로딩의 사용법

- 오버라이딩을 사용 할 때 하위 클래스의 메소드에 @Override어노테이션을 사용하여 명시적으로 사용 할 수 있습니다.

package java_study;

public class Polymorphism {
	public static void main(String[] args) {
		Child_poly cp = new Child_poly();
		cp.overridingHello();
		cp.overloadingMethod();
		cp.overloadingMethod("hey");
		cp.overloadingMethod("yolo", 100);
	}
}

class Parent_poly {
	public void overridingHello() {
		System.out.println("Hello from Parent");
	}
}

class Child_poly extends Parent_poly {
	// @Override
	public void overridingHello() {
		System.out.println("Hello from Child");
	}
	
	public void overloadingMethod() {
		System.out.println("overloading without paremter");
	}
	
	public void overloadingMethod(String str) {
		System.out.println("str : " + str);
	}
	
	public void overloadingMethod(String str, Integer i) {
		System.out.println("str : " + str + " / Integer : " + i);
	}
	
	public Integer overloadingMethod(Integer i) {
		return i;
	}
	
}

+ Recent posts