728x90

 

해당 클래스의 상속관계를 알아야할 때

어떤 상속관계인지 몰라 공식API문서 찾기 어려울 때나

알더라도 여러 카테고리 거쳐 찾는 번거로움을 느낀다면?

해당 메소드가 반환을 어떻게 하는지 궁금하다면?

 

이클립스에서 알고자하는 코드에 마우스 포인터를 올리면 뜨는 노란 툴팁보면

아래로 내려가면

Overrides : 상속관계를 알려주는 부분

returns : 반환타입을 알려주는 부분

가 있다

Overrides : toString() 메소드가 최상위 클래스인 Object를 상속했다는 의미이다. 즉, 부노는 Object 자식은 toString()

returns : 객체의 대표값 문자열로 반환한다는 의미이다.

어떤건 int정수로 어떤건 boolean으로 true/false로 반환하니 잘체크하면 많은 도움이 된다

 

 

728x90
반응형
728x90

이클립스에 뜨는 많은 영어와 문자들

그냥 지나치기 쉬웠을텐데 알아두면 유용한 팁이다

API문서에서 하나하나 찾을 번거로움을 덜고 코딩 중에 바로바로 이클립스에서 타입 확인하는 방법이다

 

 

해당 코드에 마우스 포인터를 올려두면 뜨는 노란툴팁에서

볼드되어 뜨는 가장 첫줄에 반환타입과 제네릭설정 되어있다면 제네릭이 뭘로 제한되어있는지도 알려주고 

해당 메소드나 클래스의 상속관계,경로 등을 알려주니 필히 체크하자

 

 

 

728x90
반응형
728x90

@Override

public boolean equals(Object obj) 

@Override
	public boolean equals(Object obj) {
		// 객체 비교
		if (this == obj) { // this는 주소값 비교할려고 넣은 것
			return true;
		}
		if(obj == null) {
			return false;
		}
		if(getClass() != obj.getClass()) { // 내 클래스 정보와 상대방의 클래스 정보가 같은지 비교
			return false;
		}
		
		pModelVo02 other = (pModelVo02)obj; // 다운캐스팅 : obj->Snack
		if(name == null) {      // other는 레퍼런스 변수
			if(other.name != null) { 
				return false;
			}
		}else if(!name.equals(other.name)) { // 이름에 대한 비교
			return false;
		}
		
		if(weight != other.weight) { // 목록에 대한 비교
			return false;
		}
		return true;
	}

 

@Override

public int hashCode()

	@Override
	public int hashCode() {
		final int PRIME = 31; // 컴퓨터가 이해하기 좋은 숫자가 31이라함
		int result = 1;
		
		result = PRIME * result + (name == null ? 0 : name.hashCode()); // 내 해쉬코드가 아니라 스트링의 해쉬코드를 가져오는 것
		result = PRIME * result + weight; // 형이 안맞아서 에러나니 캐스팅 또는 소수점 없게끔 계산
		
		return result;
	}

 

@Override

public int compareTo(Object o)

	@Override
	public int compareTo(Object o) {
	    // Dog 이름 오름차순
		// Object o를 다운 캐스팅 해줘야함
		pModelVo02 otherP = (pModelVo02)o;
		
		String other = otherP.name;
		
		int result = name.compareTo(other); // compareTO 자체가 인트값 반환
		return 0;
	}

 

 

728x90
반응형
728x90

 

자바 jdk 버젼 관련해서 실수로 최신 버젼을 깔았는데

호환성과 안정성 등 필요에 따라 구버젼을 사용해야할 때가 있을 것이다

혹은 버젼을 업그레이드 하고 싶던지 다운그레이드 하고 싶던지 

 

openjdk버젼이 다양한데

설치형 오픈 jdk가 있고 무설치로 경로 지정만 잘해주면 사용할 수 있는 두가지가 있다

 

 

open JDK 삭제

무설치형은 경로에 있는 파일을 제거하고 원하는 버젼으로 새로 세팅해주면 되고, 설치형은 아래와 같다

1)제거툴로 제거 하는 방법

https://www.java.com/ko/download/uninstalltool.jsp

2)프로그램 추가/제거에서 제거하는 방법

1)2) 둘 중에 하나를 하게되면 설치형은 제거가 된다

 

자바가 잘 지워졌는지or자바 버젼 확인 하는 방법

1)윈도우키+R을 눌러서 CMD치고 실행시킨다

2)cmd에 java -version이라고 친다

없으면 없다고 나오던가 현재 구동되는 runtime 버젼이 뜰 것이다

 

필자는 자바17최신버젼과 이클립스도 21-12 최신버젼에서 구버젼 1.8.0과 이클립스 20-03 설치(아래 링크)로 바꿨다 

https://docs.aws.amazon.com/corretto/latest/corretto-8-ug/downloads-list.html

 

Downloads for Amazon Corretto 8 - Amazon Corretto

Thanks for letting us know this page needs work. We're sorry we let you down. If you've got a moment, please tell us how we can make the documentation better.

docs.aws.amazon.com

https://www.eclipse.org/downloads/packages/release/2020-03/r

 

2020-03 R | Eclipse Packages

442 MB 6,634 DOWNLOADS The Modeling package provides tools and runtimes for building model-based applications. You can use it to graphically design domain models, to leverage those models at design time by creating and editing dynamic instances, to collabo

www.eclipse.org

 

 

자바 버젼 설치 후 이클립스에 적용시키기

1. [window] - [Preferences] - [java탭] - [Installed JREs]

2. [window] - [Preferences] - [java탭] - [Complier] 

 

1. [window] - [Preferences] - [java탭] - [Installed JREs]

[window] - [Preferences] - [java탭] - [Complier] 까지 들어가서 아래 화면처럼 Add 클릭

가운데 네모 박스는 add 후에 추가되는 자바 버젼을 체크해야한다. 저는 이미 있으니 패스

 

standard VM에 체크하고 next

 

 

디렉토리 누르고 막 설치했던자바 버젼이 깔려있는 곳을 지정해주면 된다.

 

추가 되고나면, 아래처럼 체크해주고 나머지는 remove해주자

(언제든 다른 버젼 추가가능)

 

 

2.[window] - [Preferences] - [java탭] - [Complier] 

[window] - [Preferences] - [java탭] - [Complier] 까지 들어가서 

Compiler compliance level에서 쓸려는 자바 버젼을 지정해준다

그 아래 use default compliance settings은 기본값으로 저 버젼에 맞춰준다는 것이니 체크해두자

 

 

 


 

 

 이클립스에서 기존에 사용하던 프로젝트 파일의 버젼 설정

 

위의 세팅으로 새로 생성되는 프로젝트들은 새로 설치한 버젼으로 만들어지지만 이전 버젼들은 따로 설정해야줘야한다

 

1.[사용할려는 프로젝트 위에서 우클릭] - [Properties] - [Java Build Path]

2.[사용할려는 프로젝트 위에서 우클릭] - [Properties] - [Java Compiler]

 

1.[사용할려는 프로젝트 위에서 우클릭] - [Properties] - [Java Build Path]

그림 중앙의 파일은 add 후 생긴 파일이고, Add library를 눌러주자

 

JRE System Library 선택

 

Workspace default JRE 선택

아까 설치하고 기본값으로 세팅해준 그 자바 버젼을 쓴다는 의미이다

 

여기서도 쓸려는 버젼으로 변경하고 아래 apply 클릭

 

 

2.[사용할려는 프로젝트 위에서 우클릭] - [Properties] - [Java Compiler]

여기 Java Complier에서도 1.8 잘되어있는지 체크

 

 

이클립스 인코딩 세팅

인코딩 방식 UTF-8로 변환해두기

안하면 파일 다 깨져서 난리남...

https://parkjye.tistory.com/35

 

728x90
반응형
728x90

 

this. 키워드가 가리는 곳은 어디일까?

 

728x90
반응형
728x90

 

※ Call by reference & value

 

1) call by reference

주소값이 기준. 이 때문에 객체를 불러오면 주소값을 불러온다      

ex) class, 객체object 
        
String a = "100";         
String b = a;       # 같은 주소값

(만약, new 써서 인스턴스를 만든다면 값은 값지만 주소는 다르게 된다)

 

2) call by value

기본적으로 대상의 주소값을 가지지 않고 '값(value)'을 할당받는 형태 

ex) int, float, double 같은 primitive type들

728x90
반응형
728x90

맨 왼쪽부터 동그라미에 빨간색 x표시 뜬다. 컴파일시 에러난다는 의미이며,
위에를 클릭해보면 스샷처럼 오른쪽에 툴팁으로 어떤 에러가 떴는지 나오며
흰색 배너에 해결책이 제시되고, 그 오른쪽에 노란 배너에 해당 선택지들이 실제로 어떻게 코드가 바뀌는지
미리보여주기가 뜬다
int에 쳐진 위쪽 동그라미 안에 보면 옆은 빨간색으로 밑줄이 쳐져 있는데 이 또한 에러발생을 알려주는 표시이다
다만 주석해서 왼쪽에 x표시가 안뜬 것은 컴파일시에 문제가 없기 때문.


에러는 개발자에게 항상 맞닥드리는 부분이니 개발자가 되기 위해 공부를 막 시작했다면 꼭꼭 숙지해주자!!


728x90
반응형
728x90

자바(Java) 에러 수정을 위한 에러메시지 보는 법

자주 맡닥뜨리는 에러발생과 해결을 위해 필수적으로 알아두자!

 

 

아래의 빨간색 표시들을 보자

보통 작성한 코드의 확인을 위해 

1번의 console 콘솔 창을 두고 보게 될텐데

에러가 발생했을 경우, 구체적으로 어디서 어떻게 발생 됬는지

디테일을 알려면 2번의 Problems를 클릭하여 창을 전환 해줘야한다

3번 description은 에러가 발생한 구체적인 내용이고

4번은 소스파일명

5번은 왼쪽 package Explorer창에서 볼 수 있는 자바프로젝트명과 '경로'

6번은 해당 파일에서 구체적으로 몇번째 라인 코드에서 오류가 발생했는지 위치

7번은 에러 타입 종류

 

 

 

 

728x90
반응형
728x90

 

코드 에디터 라인수 왼쪽에 어느 라인에 오류가 있는지 왼쪽에 표시가 뜨고

해당 구문에 아래줄에도 표시되며 툴팁으로 어떤 메세지인지 에러 메시지가 뜬다

이걸 복사 구글링하여 뭐가 문제인지 알아낼 것!

이외에도 Package Explorer창 아래 디렉토리와 프로젝트명(Hello.java) 좌측에도 뜬다

 

728x90
반응형

+ Recent posts