728x90
반응형
728x90
반응형

오늘은 오버로딩과 오버라이딩의 차이점을 알아보도록 하겠습니다.

면접 질문에서 자주 나오는 유형의 질문이라고 하는데요.

자바의 다형성 특징을 나타내는 방법으로 오버로딩오버라이딩이 있습니다.


오버로딩 : 같은 이름의 메소드를 여러 개 가지면서 매개 변수를 다르게 정의하는 것

오버라이딩 : 상위 클래스(부모 클래스)가 갖고 있는 메소드(자식 클래스)를 하위 클래스에서 재정의해 사용하는 것


오버로딩(Overloading)에 대해 자세히 알아 보겠습니다.

-메소드 이름은 같다.

-오버로딩은 매개 변수 타입, 매개변수가 다르다.



오버로딩은 실제로 프로젝트를 진행하면 여러 개발자 분들과 같이 개발하기 때문에 오버로딩을

사용해 작성자와 사용자가 알아보기 쉽게 하여 개발의 효율성을 높이기 위해 사용합니다.


예제를 통해 알아보겠습니다.

class OverloadingTestClass{ void overloadingTest(){ System.out.println("매개변수가 없는 메소드"); } void overloadingTest(int a){ System.out.println("매개변수가 "+a+"인 메소드"); } void overloadingTest(int a, int b){ System.out.println("매개변수가 "+a+"와 "+b+"인 메소드"); } } public class OverloadingTestMain { public static void main(String[] args) { OverloadingTestClass oltc = new OverloadingTestClass(); oltc.overloadingTest(); oltc.overloadingTest(100); oltc.overloadingTest(100, 200); } }


결과는 다음과 같습니다.



사전과 비교하자면 끄다라는 단어가 있습니다. 끄다라는 단어를 통해 스위치를 끄다, 불을 끄다, 담배를 끄다

등 표현을 할 수 있는데요. 만약 끄다라는 단어를 정의하지 않았다면 위에 표현을 일일이 정의해야 하는 번거로움이

있습니다. 우리나라 사전이 지금도 두껍지만 두께의 양은 수 십 배로 많아 질 것입니다. 

조금이나마 이해가 되셨기를 바랍니다.ㅎㅎ


다음은 오버라이딩(Overriding)에 대해 자세히 알아 보겠습니다.

먼저 오버라이딩을 알기위해 상속이라는 개념을 알아야 하는데요.

상속이라는 의미는 부모님이 자식에서 재산을 상속하듯이 무언가를 물려준다는 뜻인데요.

프로그래밍에서도 의미가 비슷합니다.

-상속 관계에 있는 클래스 간에 같은 이름의 메소드를 정의하는 기술입니다.

-메소드 이름은 같다.

-오버라이딩은 매개 변수 타입과 매개변수가 같다.


예제를 통해 알아보겠습니다.

class Employee{
	String name;
	int age;
	
	public void overridingTest(){
		System.out.println("사원의 이름은 "+name+"이고 나이는"+age+"입니다.");
	}
}
class Manager extends Employee{
	String jobId;
	
	public void overridingTest(){
		System.out.println("사원의 이름은 "+name+"이고 나이는 "+age+"입니다.");
		System.out.println("그의 직업은 "+jobId+"입니다.");
	}
}

public class OverridingTestMain {
	public static void main(String[] args) {
		Manager shin = new Manager();
		shin.name="신자바";
		shin.age=27;
		shin.jobId ="웹 프로그래머";
		
		shin.overridingTest();
	}
}

결과는 다음과 같습니다.



Manager클래스에 employee클래스를 상속함으로써 name과 age변수를 따로 정의하지 않아도 객체 생성 후에

 값을 입력하는 데 문제가 없음을 확인할 수 있습니다.

overridingTest() 메소드를 실행하면 콘솔 창에 잘 출력됨을 확인할 수 있습니다.






728x90
반응형
728x90
반응형

개발자 분들이 사용하시면 아주 유용한 정보를 알려드릴까해요

바로 이클립스에서 코드 전체 찾기인데요. 

즉 ctrl + f 기능을 이클립스에서 하나의 파일이 아닌 전체 파일의 코드를 찾을 수 있는 거죠.

바로 보여드릴께요!


이클립스 실행하시고 진행하시는 프로젝트를 켜줍니다.

ctrl + h 를 눌러 search를 켜줍니다.



다음은 customize 버튼을 클릭해줍니다.

아래와 같은 화면이 뜬다면 file search를 제외한 나머지는 체크를 해제해주세요.



ok버튼을 누르시면 아래와 같은 화면이 나옵니다.

마지막으로 찾고자 하는 코드를 ctrl + f 기능을 찾는 것처럼

containing text에 코드를 써줍니다. 저는 controller를 찾기 위해 입력을 했습니다.

다음으로 *.java를 입력해줬는데요 *.확장자를 이용해 찾고자 하는 코드의 범위를 지정해줍니다.

아래의 과정을 완료 하셨다면 search를 눌러줍니다.



search를 눌러주시면 아래의 사진과 같이 controller를 포함하고 있는 모든 java파일을

찾아주는 것을 확인할 수 있네요. 

ctrl + f 기능을 전체코드로 확인할 수 있다고 하면 맞을 것 같네요.




*.java 파일 이외의 *.jsp, *.xml, *.html 등 모두 가능하니까 다들 확인해보세요~

이만 포스팅을 마치겠습니다.







728x90
반응형
728x90
반응형

먼저 위키피디아의 사전적 정의부터 살펴보도록 합시다.

범용 고유 식별자(汎用固有識別子, 영어: universally unique identifier, UUID)는 소프트웨어 구축에 쓰이는 식별자 표준으로, 개방 소프트웨어 재단(OSF)이 분산 컴퓨팅 환경(DCE)의 일부로 표준화하였다.


네트워크 상에서 서로 모르는 개체들을 식별하고 구별하기 위해서는 각각의 고유한 이름이 필요하다. 이 이름은 고유성(유일성)이 매우 중요하다. 같은 이름을 갖는 개체가 존재한다면 구별이 불가능해 지기 때문이다. 고유성을 완벽하게 보장하려면 중앙관리시스템이 있어서 일련번호를 부여해 주면 간단하지만 동시다발적이고 독립적으로 개발되고 있는 시스템들의 경우 중앙관리시스템은 불가능하다. 개발주체가 스스로 이름을 짓도록 하되 고유성을 충족할 수 있는 방법이 필요하다. 이를 위하여 탄생한 것이 범용고유식별자(UUID)이며 국제기구에서 표준으로 정하고 있다.

UUID 표준에 따라 이름을 부여하면 고유성을 완벽하게 보장할 수는 없지만 실제 사용 상에서 중복될 가능성이 거의 없다고 인정되기 때문에 많이 사용되고 있다.


즉 객체마다 구별을 짓기 위해 UUID를 사용한다고 보면 될 것 같아요!

16진수로 표현되며 340,282,366,920,938,463,463,374,607,431,768,211,456개가 사용이 가능하다고 하네요.

중복될 일은 거의 없다고 보시면 됩니다.

UUID를 사용해보도록 하겠습니다.

사용하는 코드는 간단합니다.

import java.util.UUID;

public class testUUID {
	public static void main(String[] args) {

		// TODO Auto-generated method stub
		for(int i=0; i<10; i++){
			System.out.println(i+"번째 UUID : "+UUID.randomUUID().toString());

		}

	}
}



실행 결과를 확인하면 아래와 같이 값이 출력됩니다.



JDK 1.5버전 이상부터 가능한 클래스라고 합니다. 

UUID의 사용 예를 들자면 

학교에는 학생의 학번이 있고 웹 사이트에는 회원의 회원번호가

회사에는 사원의 사원번호가 있듯이 중복되지 않는 값을 줘야 할 때 사용하면 좋을 것 같네요!


728x90
반응형
728x90
반응형

오늘은 자바 소스 코드를 티스토리 블로그에 올리는 방법을 알려드릴 까 해요.

아마 개발하시는 분들에게 정말 유용할 듯 싶네요. 


1. js와 css파일 다운로드하기 

먼저 https://github.com/syntaxhighlighter/syntaxhighlighter 접속하여 파일을 다운 받습니다.

파일 경로는 원하는 곳에 지정하셔서 다운 받는 게 나중에 기억하기 편리하겠죠?


2. js와 css파일 업로드하기


-scripts폴더의 모든 파일을 아래의 그림과 같이 업로드합니다.


-그 다음 styles 폴더의 모든 파일 역시 업로드 합니다.



3. js와 css파일 HTML/CSS편집기에 등록하기

등록이라 설명드렸지만 말그대로 복사 붙여넣기 하시면 되요!

관리 -> 꾸미기 -> HTML/CSS편집 클릭하여

<head> 부분의 아래 소스를 추가해주세요!

























4. 소스 코드를 작성해볼게요!


html 체크박스를 체크하시고 


<pre class="brush:java">

     사용하고자 하는 자바 소스를 작성하면 됩니다!!

</pre>

주의하실 점은 

< 또는 > 표현하고자 할 떄

&lt; 또는 &gt;로 표현해야 합니다.

< 또는> 태그로 인식할 수 있기 때문이죠.


5. 결과는

//사용하고자 하는 자바 소스를 작성하면 됩니다!! public class animal{ }


코드가 잘 나왔네요! 


다운이 귀찮으신 분들을 위해 알집으로 파일 공유할게요!

syntaxhighlighter_3.0.83.zip


728x90
반응형

'프로그래밍 > 기타' 카테고리의 다른 글

SSO, SSL, SSH 정의  (0) 2018.08.05
애자일 방법론!!  (0) 2017.09.26
이클립스 테마 변경하기!!  (0) 2017.09.24
웹 프로그래머 면접 예상 질문!  (0) 2017.08.02
웹 프로그래머(JAVA, JSP) 면접 예상 질문  (0) 2017.07.19
728x90
반응형

mouseover : 마우스가 해당 요소 안에 들어올 때 발생하는 이벤트

mouserout : 마우스가 해당 요소를 벗어날 때 발생하는 이벤트


예제를 통해 차이를 살펴보겠습니다.


좋아요 기능을 구현 예제를 통해 설명하겠습니다.

<a href>를 클릭하면 통해 updateProInterestThumb()함수를 실행하도록 하였네요.




updateProInerestThumb함수는 ajax통신을 통해 값이 컨트롤러를 통해 전해지며

값이 움직이게 되요. 좋아요의 경우 db값이 'Y'es 그렇지 않는다면 'N'o로 db로 값이 변경되는데요.



//좋아요 기능 구현 
var prothumb = "${pivo.prothumb}";
function updateProInterestThumb(){
	var userid = "${user.id}";
	if(userid == ""){
		alert("로그인해야 관심상품으로 등록이 가능합니다.");
	}else{
		if(prothumb=='Y'){ 
			prothumb='N'; //console.log("1      "+prothumb);
		}else{f
			prothumb='Y'; //console.log("2      "+prothumb);
		}//console.log("3     "+prothumb);
		$.ajax({
			url : '/updateProInterestThumb',
			type : 'POST',
			data : {'code':code , 'prothumb': prothumb},
			success : function(result){
				$('#prothumbYn').html('');
				var jsonObj = JSON.parse( result );
				if(jsonObj.prothumb== "Y"){
					$('#layLike').css('display', 'block');
					$('#layLike').html("

좋아요가 되었습니다.
전체보기

"); $("#prothumbYn").html(""+" "+jsonObj.prothumbcount+""); }else{ $('#layLike').css('display', 'block'); $('#layLike').html("

좋아요가 취소되었습니다.

"); $("#prothumbYn").html(""+" "+jsonObj.prothumbcount+""); } } }); } }


div태그인 id가 layLike의 css속성을 블록으로 지정해줍니다.

그러면 블록모양으로 뜨겠죠.

그러면 이제 마우스 이벤트를 주도록 하겠습니다.



$('#layLike').mouseover(function(){
	$('#layLike').css('display', 'block');
});
$('#layLike').mouseout(function(){
	$('#layLike').css('display', 'none');
});


아래의 그림과 같이 마우스 포인터가 layLike아이디를 가진 div태그 안에 있으면 css속성은 block으로 유지가 되고

마우스 포인터가 layLike의 아이디를 가진 div태그 css속성은 none으로 사라지게 됩니다.

결과는 아래와 같습니다.!

마우스 오버 아웃 이벤트 사용하시는 분들은 예제를 통해 사용해보세요!









728x90
반응형

'프로그래밍 > JQuery' 카테고리의 다른 글

ajax로 return false 보내기  (0) 2019.10.06
JQuery IE에서 placeholder 적용하기  (0) 2018.11.03
jquery에서 reaonly, disabled 속성 사용하기  (0) 2018.08.05
jQuery란 무엇인가  (0) 2017.07.23
728x90
반응형

오늘은 파일 다중 업로드에 대해 알아보았습니다.

파일업로드 하기 전에 pom.xml에 파일업로드용 라이브러리를 추가해줍니다. (필수!)



컨트롤러 부분입니다!

path 부분에 저장하고자 하는 경로를 설정해주세요!



jsp부분입니다.



업로드를 전송하면!

alert 창이 뜨면서 

왼쪽 화면에 업로드가 잘된 것을 확인할 수 있네요!

 



파일 첨부할게요!

ajaxUpload.jsp

FileUploadController.java


728x90
반응형
728x90
반응형

먼저 위키피디아의 jQuery 정의를 살펴보죠

 HTML 클라이언트 사이드 조작을 단순화 하도록 설계된 크로스 플랫폼 자바스크립트 라이브러리다. 


jQuery는 자바스크립트의 라이브러리입니다.

즉 자바스크립트를 조금 더 쉽게 사용하기 위해 만들어진 언어라고 보면 됩니다.

DOM 노드들을 조작하는 작업은 $ 함수로 시작됩니다. 예를 들면 id를 호출하는 경우 자바스크립트는

document.getElmentById('id')라고 써야하지만 Jquery는 $('#id') 또는 $("#id")로 간단하게 표현이 가능합니다.


jQuery 사용방법은 다음과 같습니다.


http://jquery.com 홈페이지에 접속합니다.



다운로드를 클릭합니다. 



최신 버전을 다운 받아 해당 프로젝트에 기억하기 쉬운 위치에 js파일을 저장해줍니다.


또는


다운로드가 귀찮으시다면


<script type="text/javascript" src="//code.jquery.com/jquery-3.2.1min.js"></script>

를 jsp파일에 추가해줍니다.


jquery-3.1.1.min.js


혹시 몰라 파일 올려드립니다.

그러면 즐프하세요~


추가적으로 jQuery 연습 가능한 사이트 올려드릴게요~

부트스트랩으로 너무나 유명한 사이트죠

https://www.w3schools.com/



728x90
반응형
728x90
반응형

언어를 배우다보면 Java, JavaScript, JSP등 헷갈릴텐데요.

특히 JavaScript와 JSP는 같은 의미로 생각하시는 분들이 많을 것 같아요.

(저도 그렇게 생각했답니다.....)


JSP는 서버에서 자원들(코드)을 사용하는 것이고 JavaScript는 클라이언트에서 자원들(코드)을 사용합니다.

기존의 Java언어를 사용하는 것에는 동일하지만

JSP는 웹 서버에서 실행되는 .JSP파일이라면 ,

JavaScipt는 <script>태그를 사용하여 표현하죠. 사용자의 웹 화면인 .HTML파일 입니다.


다시 말해 서버에서 실행되어 결과를 사용자에게 보여주는 방식이 JSP이고 

자바스크립트는 클라이언트(사용자)의 웹 브라우저 화면에 실행되어지는 방식입니다.


JSP는 서버 언어!

JavaScript는 클라이언트 언어!

라고 생각하면 편할 것 같네요!

728x90
반응형
728x90
반응형

+ Recent posts