2014년 6월 30일 월요일

[자바interface,추상클레스차이점,비교인터페이스 : 추상클래스]추상클래스는 상속계층구조에서 다른클래스를 만들기위한틀,인터페이스는 다분히 수평적개념^^,자바기초,JSP.서블릿,JDBC ,Spring Framework교육은 오라클자바커뮤니티에서 받아보세요.. 이해가 속속^^

[자바interface,추상클레스차이점,비교인터페이스 : 추상클래스]추상클래스는 상속계층구조에서 다른클래스를 만들기위한틀,인터페이스는 다분히 수평적개념^^,자바기초,JSP.서블릿,JDBC ,Spring Framework교육은 오라클자바커뮤니티에서 받아보세요.. 이해가 속속^^
 
비슷한점 :
 
추상 메소드를 가지고 있고 이를 상속 받거나 구현하는 클래스는 이 추상 메소드를 재정의하고 구현해야 한다는 점, 그리고 다형성을 구현하는 방법이라는 점, 메소드들이 동적으로 바인딩 된다는 점들은 비슷하다.
추상클래스 인터페이스 모두 생성자를 만들 수 없다. 즉 new 할 수 없다.
프로그램간 결합도를 낮추기 위해서는 추상클래스와 인터페이스가 필요하다. 추상클래스 나 인터페이스를 타입으로 사용
 
차이점 :
 
인터페이스는 서로 연관성이 없는 클래스들에 의해 구현될 수 있고 따라서 수평적인 구현이 가능하지만 추상클래스의 경우 단일 상속 개념 하에 수직적인 구조로 상속을 해야만 한다.
인터페이스에서는 메소드를 선언만 할 수 있으며 구현할 수 없다. 그리고 이 구현은 인터페이스를 구현하도록 설정된 클래스에서 가능하다. 하지만 추상클래스의 경우에는 추상 클래스 내부에서 메소드의 선언과 구현이 모두 가능하며 또한 이를 상속 받은 클래스에서도 재정의가 가능하다.
 


오라클자바커뮤니티교육센터, 개발자전문교육, 개인80%환급
www.oraclejavacommunity.com


평일주간(9:30~18:10) 개강
(7/07)[기업100%환급]C#4.0,WinForm,ADO.NET프로그래밍
(7/07)[기업100%환급]Spring ,MyBatis,Hibernate실무과정
(7/07)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지
(7/07)[채용예정교육]오라클자바개발잘하는신입뽑기프로젝트,교육전취업확정
(7/14)[기업100%환급]SQL기초에서 Schema Object까지
(7/14)[기업100%환급]PL/SQL,ORACLE HINT,TUNING
(7/14)[기업100%환급]안드로이드개발자과정

평일야간(19:00~21:50) 개강
(7/01)안드로이드개발자과정
(7/01)닷넷(C#,Network,ADO.NET,ASP.NET)마스터과정
(7/02)Spring3.X, MyBatis, Hibernate실무과정
(7/02)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/02)JAVA,Network&WEB&Framework(자바기초에서웹스프링까지)
(7/03)웹퍼블리싱 마스터
(7/15)SQL기초에서실무까지
(7/15)MyBatis3.X, Hibernate4.X ORM실무과정
(7/22)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지

주말(10:00~17:50) 개강
(7/05)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(7/05)SQL초보에서 Schema Object까지
(7/12)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/12)MyBatis3.X, Hibernate4.X ORM실무과정
(7/12)개발자를위한PLSQL,SQL튜닝,힌트
(7/13)C#,ASP.NET마스터
(7/19)Spring3.X, MyBatis, Hibernate실무과정
(7/19)웹퍼블리싱 마스터
(7/19)안드로이드개발자과정

주말저녁(18:30~22:20) 개강
(7/19)JAVA,Network&WEB&Framework
(8/09)SQL기초에서실무까지

[구로/가산디지털단자실무교육전문학원추천합니다.오라클자바커뮤니티 평일주간야주말주야간자바초보기초에서]자바 패키지란(Java Package), JAVA학원,JAVA교육,자바교육잘하는학원,실무위주의교육커리큘럼,자바에서사용되는 대부분의 API 는 다 패키지화 되어있죠^^

[구로/가산디지털단자실무교육전문학원추천합니다.오라클자바커뮤니티 평일주간야주말주야간자바초보기초에서]자바 패키지란(Java Package), JAVA학원,JAVA교육,자바교육잘하는학원,실무위주의교육커리큘럼,자바에서사용되는 대부분의 API 는 다 패키지화 되어있죠^^
 
 
그림[자바 패키지]
BR>
관련 있는 클래스 또는 인터페이스들을 묶어서 패키지라고 하고 윈도우 폴더처럼 같은 패키지의 클래스는 같은 폴더에 있다.
 
자바프로그램이 패키지로 정의되어 있다면 그 프로그램은 반드시 패키지로 정한 폴더 내부에 있어야 한다.

 클래스를 패키지 이름과 함께 계층적인 형태로 사용함 으로서 다른 그룹에 속한 클래스와 발생 할 수 있는 이름 충돌 방지한다. (서로 다른 패키지라도 같은 이름의 클래스 존재 가능, java.util.Date, java.sql.Date)

name space 부여(닷넷에서는 네임스페이스라고 하죠 )

자바에서 사용되는 API들은 대부분 package화 되어 제공되며 개발자는 이 패키지내의 클래스들을 import하여 이용할 수 있다.

클래스의 이름은 기본적으로 Package이름.클래스이름 이다.
 
패키지내의 클래스와 인터페이스를 사용하기 위해서는 패키지이름을 명시하거나 import 문장을 이용하여 package 이름을 생략하여 클래스, 인터페이스 이름만 사용할 수 있다.

특정 클래스만 import 하는 경우 : import java.util.Date;
패키지 내의 모든 클래스를 import하는 경우 : import java.util.*;
 
import 하는 경우 부 패키지는 import 되지 않는다.(해당 폴더의 클래스만 임포트되고 하위 폴더의 클래스는 임포트 안됨)
 (java.awt, java.awt.event)
 
패키지 이름이 생략된 클래스, 인터페이스 이름을 컴파일러가 import 문장을 참조하여 패키지이름이 포함된 인터페이스나 클래스 이름으로 변환한다.
 
컴파일시 자바 컴파일러는 소스코드의 첫문장으로 import java.lang;이 자동 삽입된다.(그래서 System 클래스를 별도 임포트없이 사용했다.)

주로 domain 이름을 거꾸로 하여 사용하는 것이 관례다.

[예제]
 
import java.util.Date;
import java.util.Random;
// import java.util.*;  // 위의 두 import문 대신 사용할 수 있지만 해당 패키지의 모든 클래스가 로드되므로 비추
// import java.lang.*;  // 자바 컴파일러에 의해 자동 삽입된다.
class ImplicitPack {
    public static void main(String[] args) {

 //컴파일하면 자동으로 클래스이름압ㅍ에 패키지명을 삽입한다.
        //java.lang.System.out.println(new java.util.Date());
        System.out.println(new Date());
        System.out.println(new Random().nextInt());
    }
}

오라클자바커뮤니티교육센터, 개발자전문교육, 개인80%환급
www.oraclejavacommunity.com


평일주간(9:30~18:10) 개강
(7/07)[기업100%환급]C#4.0,WinForm,ADO.NET프로그래밍
(7/07)[기업100%환급]Spring ,MyBatis,Hibernate실무과정
(7/07)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지 
(7/07)[채용예정교육]오라클자바개발잘하는신입뽑기프로젝트,교육전취업확정
(7/14)[기업100%환급]SQL기초에서 Schema Object까지
(7/14)[기업100%환급]PL/SQL,ORACLE HINT,TUNING
(7/14)[기업100%환급]안드로이드개발자과정

평일야간(19:00~21:50) 개강
(7/01)안드로이드개발자과정
(7/01)닷넷(C#,Network,ADO.NET,ASP.NET)마스터과정
(7/02)Spring3.X, MyBatis, Hibernate실무과정
(7/02)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/02)JAVA,Network&WEB&Framework(자바기초에서웹스프링까지)
(7/03)웹퍼블리싱 마스터
(7/15)SQL기초에서실무까지
(7/15)MyBatis3.X, Hibernate4.X ORM실무과정
(7/22)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지

주말(10:00~17:50) 개강
(7/05)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(7/05)SQL초보에서 Schema Object까지
(7/12)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/12)MyBatis3.X, Hibernate4.X ORM실무과정
(7/12)개발자를위한PLSQL,SQL튜닝,힌트
(7/13)C#,ASP.NET마스터
(7/19)Spring3.X, MyBatis, Hibernate실무과정
(7/19)웹퍼블리싱 마스터
(7/19)안드로이드개발자과정

주말저녁(18:30~22:20) 개강
(7/19)JAVA,Network&WEB&Framework
(8/09)SQL기초에서실무까지

[자바서블릿교육학원강좌,평일주간야간저녁주말JAVA학원교육추천]자바 서블릿(Java Servlet)의 기본구조[오라클자바커뮤니티 서블릿 강좌]

[자바서블릿교육학원강좌,평일주간야간저녁주말JAVA학원교육추천]자바 서블릿(Java Servlet)의 기본구조[오라클자바커뮤니티 서블릿 강좌]
 
모든 서블릿은 javax.servlet.Servlet 인터페이스를 구현해야 한다.
HTTP프로토콜을 사용하기 위해서
    javax.servlet.Servlet을구현한
    javax.servlet.http.HttpServlet클래스를 사용한다
서블릿은 main() 메소드를 갖지 않는다. 대신 요청이 들어왔을 때마다 요청방식에 따라 doGet() 혹은 doPost() 메소드가 이들 요청을 처리한다.
doGet() 혹은 doPost()메소드가 호출될 때마다 두 파라미터, 요청객체와 응답 객체를 받아들인다.

import java.io.*
(for printWriter)
import javax.servlet.*
(for HttpServlet)
importjavax.servlet.http.*
(for HttpServletRequest, HttpServletResponse)

서블릿과 쓰레드

여러 웹 클라이언트가 하나의 서블릿에 동시에 접근할 때 여러 쓰레드에 의해 동시에 실행될 수 있으므로, 동기화 처리를 하지 않으면 오동작 할 수 있다.
synchronized 키워드 적절히 사용하거나,
서블릿 클래스가 SingleThreadModel 인터페이스를 구현하도록 한다.
이와 같은 서블릿은 하나의 쓰레드로 실행된다.
 
 
   

오라클자바커뮤니티교육센터, 개발자전문교육, 개인80%환급
www.oraclejavacommunity.com


평일주간(9:30~18:10) 개강
(7/07)[기업100%환급]C#4.0,WinForm,ADO.NET프로그래밍
(7/07)[기업100%환급]Spring ,MyBatis,Hibernate실무과정
(7/07)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지
(7/07)[채용예정교육]오라클자바개발잘하는신입뽑기프로젝트,교육전취업확정
(7/14)[기업100%환급]SQL기초에서 Schema Object까지
(7/14)[기업100%환급]PL/SQL,ORACLE HINT,TUNING
(7/14)[기업100%환급]안드로이드개발자과정

평일야간(19:00~21:50) 개강
(7/01)안드로이드개발자과정
(7/01)닷넷(C#,Network,ADO.NET,ASP.NET)마스터과정
(7/02)Spring3.X, MyBatis, Hibernate실무과정
(7/02)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/02)JAVA,Network&WEB&Framework(자바기초에서웹스프링까지)
(7/03)웹퍼블리싱 마스터
(7/15)SQL기초에서실무까지
(7/15)MyBatis3.X, Hibernate4.X ORM실무과정
(7/22)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지

주말(10:00~17:50) 개강
(7/05)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(7/05)SQL초보에서 Schema Object까지
(7/12)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/12)MyBatis3.X, Hibernate4.X ORM실무과정
(7/12)개발자를위한PLSQL,SQL튜닝,힌트
(7/13)C#,ASP.NET마스터
(7/19)Spring3.X, MyBatis, Hibernate실무과정
(7/19)웹퍼블리싱 마스터
(7/19)안드로이드개발자과정

주말저녁(18:30~22:20) 개강
(7/19)JAVA,Network&WEB&Framework
(8/09)SQL기초에서실무까지

[오라클자바커뮤니티,구로/가산개발자실무교육/자바JSP학원교육추천,JSP기초실무,JDBC,서블릿,평일주말야간저녁교육학원추천]JSP 쇼핑카트, 장바구니 예제[JSP 세션 장바구니예제, ShoppingCart],오라클자바커뮤니티실무학원

[오라클자바커뮤니티,구로/가산개발자실무교육/자바JSP학원교육추천,JSP기초실무,JDBC,서블릿,평일주말야간저녁교육학원추천]JSP 쇼핑카트, 장바구니 예제[JSP 세션 장바구니예제, ShoppingCart],오라클자바커뮤니티실무학원
 
(ShoppingCart.html)
 
<html>
<head>
  <title> Book store </title>
</head>
<body>
 <center> <h1> OracleJavaCommunity Book Sore </h1> </center>

 <hr>
 원하는 품목을 클릭하세요.<br><br>
 <a href="javabook.html">자바 관련 서적 </a> <br><br>
 <a href="c++book.html">c++ 관련 서적 </a> <br><br>
 <a href="cbook.html">c언어 관련서적 </a>
 <hr>

 </body>
 </html>
 
(c++book.html)
 
<html>
<head>
  <title> C++ Programming Series </title>
</head>
<body>
  <center> <h1> C++ Programming Series </h1> </center>
  <b> Add to ShoppingCart </b> <br><br>
  <hr> 
  <form action = "BookStore.jsp" method="post">
   <input type="Checkbox" name="book" value="C++ Programming Bible">
     C++ Programming Bible <br><br>
 <input type="Checkbox" name="book" value="C++ Programming Basic">
        C++ Programming Basic <br><br>
    <input type="Checkbox" name="book" value="Data Structure in C++">
        Data Structure in C++ <br><br>
 <input type="Checkbox" name="book" value="The C++ programming Lan...">
        The C++ programming Language <br><br>   
  <hr>   
  <input type="submit" value="Add to ShoppingCart">
  <input type="reset" value="Clear Selected item"> 
  </form>
  </body>
  </html>
 

(cbook.html)
 
 C Programming Basic <br><br>
 <input type="Checkbox" name="book" value="C Data Structure">
 C Data Structure <br><br>
 <input type="Checkbox" name="book" value="C graphic programming">
      C graphic programming <br><br>
 
  <hr>   
  <input type="submit" value="Add to ShoppingCart">
  <input type="reset" value="Clear Selected item">
 
  </form>
  </body>
  </html>
 
 
(javabook.html)
 
    <input type="Checkbox" name="book" value="Java Servlet Programming">
     Java Servlet Programming <br><br>
    <input type="Checkbox" name="book" value="Java Network Programming">
     Java Network Programming <br><br>
  <hr> 
  <input type="submit" value="Add to ShoppingCart">
  <input type="reset" value="Clear Selected item">
  </form>
  </body>
  </html>
 
 
(BookStore.jsp)
 
<%@ page
    info="Show all your books"
    import="java.util.*"
    contentType="text/html; charset=euc-kr"
%>
<html>
<head>
<title> Total Selected Books </title>
<body>
<%
 Integer bookCount=(Integer)session.getValue("bookCount");

if(bookCount==null)
 {
  bookCount = new Integer(0);
 }     
 String[] booksSelected;
 String bookName; 
 booksSelected = request.getParameterValues("book");
 
 if(booksSelected != null)
 {
  for(int i=0; i<booksSelected.length; i++)
  {
      bookName = booksSelected[i];
      bookCount = new Integer(bookCount.intValue() +1);
 
   session.putValue("book"+bookCount, bookName);
    session.putValue("bookCount", bookCount);
  }
  }
%>  
<b><center> 당신이 지금까지 선택한 책들의 목록입니다</center></b>
<br><br>
<hr><br><br>
<%  
   for(int i=1; i<= bookCount.intValue(); i++) {
    String book = (String)session.getValue("book" + i);
    out.println(book + "<br><br>");
   }
%>
<hr>
<a href= "ShoppingCart.html"> 처음으로 돌아가기 </a>
<br><br>
<hr>  이것은 page 디렉티브의 info속성 값입니다.
<%= ((javax.servlet.jsp.HttpJspPage)page).getServletInfo() %>
    
</body>
</html>
 
   
 

오라클자바커뮤니티교육센터, 개발자전문교육, 개인80%환급
www.oraclejavacommunity.com


평일주간(9:30~18:10) 개강
(7/07)[기업100%환급]C#4.0,WinForm,ADO.NET프로그래밍
(7/07)[기업100%환급]Spring ,MyBatis,Hibernate실무과정
(7/07)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지 
(7/07)[채용예정교육]오라클자바개발잘하는신입뽑기프로젝트,교육전취업확정
(7/14)[기업100%환급]SQL기초에서 Schema Object까지
(7/14)[기업100%환급]PL/SQL,ORACLE HINT,TUNING
(7/14)[기업100%환급]안드로이드개발자과정

평일야간(19:00~21:50) 개강
(7/01)안드로이드개발자과정
(7/01)닷넷(C#,Network,ADO.NET,ASP.NET)마스터과정
(7/02)Spring3.X, MyBatis, Hibernate실무과정
(7/02)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/02)JAVA,Network&WEB&Framework(자바기초에서웹스프링까지)
(7/03)웹퍼블리싱 마스터
(7/15)SQL기초에서실무까지
(7/15)MyBatis3.X, Hibernate4.X ORM실무과정
(7/22)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지

주말(10:00~17:50) 개강
(7/05)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(7/05)SQL초보에서 Schema Object까지
(7/12)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/12)MyBatis3.X, Hibernate4.X ORM실무과정
(7/12)개발자를위한PLSQL,SQL튜닝,힌트
(7/13)C#,ASP.NET마스터
(7/19)Spring3.X, MyBatis, Hibernate실무과정
(7/19)웹퍼블리싱 마스터
(7/19)안드로이드개발자과정

주말저녁(18:30~22:20) 개강
(7/19)JAVA,Network&WEB&Framework
(8/09)SQL기초에서실무까지

[오라클자바커뮤니티학원,자바교육,JAVA강좌]자바 버추얼머신(JVM, Java Virtual Machine)의 실행 메모리 영역, 스택, 힙, 자바 Method Area, Heap영역,평일주말저녁야간KAVA학원교육추천@

[오라클자바커뮤니티학원,자바교육,JAVA강좌]자바 버추얼머신(JVM, Java Virtual Machine)의 실행 메모리 영역, 스택, 힙, 자바 Method Area, Heap영역,평일주말저녁야간KAVA학원교육추천@
 
자바 애플리케이션을 만들 때 메모리나 어드레스 같은 낮은 수준의 사항을 너무 의식하면 안되지만
자바를 확실하게 이해하기위해선 기본적인 메모리의 사용법을 어느 정도 이해하는 것이 좋다.

1. 메쏘드(method) 영역
 
공유메모리 영역으로 클래스의 메소드에 대한 바이트코드, 전역변수(클래스 변수, static 변수)가 위치한다.
JVM에서 실행되는 모든 쓰레드에 의해 공유되며, 실행 로직이 메모리에 적재 되야 cpu가 fetch할 수 있음
자바의 모든 로직은 메서드에만 존재
메서드에 대한 바이트코드도 static 필드와 마찬가지로 클래스가 참도되는 시점에 메모리에 적재된다.
프로그램이 실행되기 시작되기 시작할 때부터 끝날 때까지 계속 존재.
 
2. 힙(heap) 영역

객체를 저장할때 사용하는 메모리, new 를 이용하여 생성된 객체 저장
배열, 객체, String장(new String)저장
3. 스택(stack) 영역
메소드의 매개변수, 지역변수, 임시변수, 리턴 값 등을 저장하기 위한 공간
메소드 호출과 함께 메모리 공간할당, 메소드 수행을 마짐 때 시스템에 반환, 사라짐
JVM은 스택 영역을 실행중인 스레드에 따라 개별적으로 구성한다.

4. 레지스터(registers)

가상 머신의 현재 상태를 보여줌
현재 실행되고 있는 메소드의 실행 포인터를 저장, JVM의 상태 유지
 
5. 실행 풀(Runtime Constant Pool)

심볼테이블, 숫자 리터럴과 상수 필드 포함
메소드 영역으로 부터 할당 받는다.



오라클자바커뮤니티교육센터, 개발자전문교육, 개인80%환급
www.oraclejavacommunity.com


평일주간(9:30~18:10) 개강
(7/07)[기업100%환급]C#4.0,WinForm,ADO.NET프로그래밍
(7/07)[기업100%환급]Spring ,MyBatis,Hibernate실무과정
(7/07)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지
(7/07)[채용예정교육]오라클자바개발잘하는신입뽑기프로젝트,교육전취업확정
(7/14)[기업100%환급]SQL기초에서 Schema Object까지
(7/14)[기업100%환급]PL/SQL,ORACLE HINT,TUNING
(7/14)[기업100%환급]안드로이드개발자과정

평일야간(19:00~21:50) 개강
(7/01)안드로이드개발자과정
(7/01)닷넷(C#,Network,ADO.NET,ASP.NET)마스터과정
(7/02)Spring3.X, MyBatis, Hibernate실무과정
(7/02)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/02)JAVA,Network&WEB&Framework(자바기초에서웹스프링까지)
(7/03)웹퍼블리싱 마스터
(7/15)SQL기초에서실무까지
(7/15)MyBatis3.X, Hibernate4.X ORM실무과정
(7/22)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지

주말(10:00~17:50) 개강
(7/05)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(7/05)SQL초보에서 Schema Object까지
(7/12)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/12)MyBatis3.X, Hibernate4.X ORM실무과정
(7/12)개발자를위한PLSQL,SQL튜닝,힌트
(7/13)C#,ASP.NET마스터
(7/19)Spring3.X, MyBatis, Hibernate실무과정
(7/19)웹퍼블리싱 마스터
(7/19)안드로이드개발자과정

주말저녁(18:30~22:20) 개강
(7/19)JAVA,Network&WEB&Framework
(8/09)SQL기초에서실무까지

[JAVA기초교육은오라클자바커뮤니티에서!,자바기초강좌]자바 메인메소드,자바메인함수, Java main, static main,평일주말야간저녁자바기초강좌,자바학원,자바교육JAVA학원,JAVA교육

[JAVA기초교육은오라클자바커뮤니티에서!,자바기초강좌]자바 메인메소드,자바메인함수, Java main, static main,평일주말야간저녁자바기초강좌,자바학원,자바교육JAVA학원,JAVA교육
 
메인 메소드는 JVM에 의해 자바 프로그램을 실행 할 때 처음 호출되는 메소드 이다.
메인 메소드는 객체 생성을 위한 첫 실행 메소드 이다. 그러므로 어느 클래스에서 접근이 가능해야 한다. 그러므로  public 이라는 접근 제어자를 사용 한다.
해당 클래스로 부터 생성된 모든 객체에서 접근이 가능해야 한다. (static)
Return 값을 가지지 않는다.(void)
실행 될 때 인자 값을 받아 들일 수 있다.

자바 인터프리터는 Java Application에 주어지는 각 명령형 인자들을 main(String[] args) 메소드에 매개변수로 넘겨준다.
각 명령행 인자는 공백문자(whitespace)로 구분한다.
C/C++에서 메인 함수의 매개변수 개수를 나타내는 argc와 명령형 매개 변수 들을 문자열 배열로 받아 들이는 argv는 결국 Java의 args.length, args로 대체 될 수 있다.
 
[예]

class MainTest
{
    public static void main (String[] args)
    {
            for(int i = 0; i < args.length; ++i)
                System.out.println( "args[" + i + "] = " + args[i] );
    }
}
 
C:> java MainTest -cc 1 2 3
 
[결과]
 
args[0] = -c
args[1] = 1
args[2] = 2
args[3] = 3


오라클자바커뮤니티교육센터, 개발자전문교육, 개인80%환급
www.oraclejavacommunity.com


평일주간(9:30~18:10) 개강
(7/07)[기업100%환급]C#4.0,WinForm,ADO.NET프로그래밍
(7/07)[기업100%환급]Spring ,MyBatis,Hibernate실무과정
(7/07)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지 
(7/07)[채용예정교육]오라클자바개발잘하는신입뽑기프로젝트,교육전취업확정
(7/14)[기업100%환급]SQL기초에서 Schema Object까지
(7/14)[기업100%환급]PL/SQL,ORACLE HINT,TUNING
(7/14)[기업100%환급]안드로이드개발자과정

평일야간(19:00~21:50) 개강
(7/01)안드로이드개발자과정
(7/01)닷넷(C#,Network,ADO.NET,ASP.NET)마스터과정
(7/02)Spring3.X, MyBatis, Hibernate실무과정
(7/02)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/02)JAVA,Network&WEB&Framework(자바기초에서웹스프링까지)
(7/03)웹퍼블리싱 마스터
(7/15)SQL기초에서실무까지
(7/15)MyBatis3.X, Hibernate4.X ORM실무과정
(7/22)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지

주말(10:00~17:50) 개강
(7/05)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(7/05)SQL초보에서 Schema Object까지
(7/12)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/12)MyBatis3.X, Hibernate4.X ORM실무과정
(7/12)개발자를위한PLSQL,SQL튜닝,힌트
(7/13)C#,ASP.NET마스터
(7/19)Spring3.X, MyBatis, Hibernate실무과정
(7/19)웹퍼블리싱 마스터
(7/19)안드로이드개발자과정

주말저녁(18:30~22:20) 개강
(7/19)JAVA,Network&WEB&Framework
(8/09)SQL기초에서실무까지

[ORACLEJAVA커뮤니티자바기초실무,평일주말JAVA교육,자바강좌,JAVA강좌]자바 클래스와 객체(java class, object), 자바객체지향, JAVA OIbject Oriented Programming, 객체지향

[ORACLEJAVA커뮤니티자바기초실무,평일주말JAVA교육,자바강좌,JAVA강좌]자바 클래스와 객체(java class, object), 자바객체지향, JAVA OIbject Oriented Programming, 객체지향
 
클래스(Class)
 
어떤 종류의 모든 객체들에 대해 일반적으로 적용할수 있는 변수와 메소드를 정의하고 있는 설계도 또는 프로토타입 이다.
사용자 정의 자료형, 객체의 자료형
Field라는 변수와 오퍼레이션을 가하는 method 로 이루어짐
클래스의 이름은 대문자로 시작, 다음 단어의 시작은 대문자
새로운 데이터 타입을 만드는 데이터 타입 생성기, 많은 변수들을 모아서 새로운 데이터 타입을 만들어 냄
사용자 정의 데이터 타입의 집합체, 클래스는 데이터 형을 의미
new 연산자를 사용하는 순간 메모리 생성
메서드 포함 가능
접근 지정의 개념 적용(public, private, protected, default)
상속의 개념 포함됨
선언하면서 붙여야 하는 키워드
 - public(접근지시자가 맨 처음 온다.)
 - abstract(클래스의 종류를 명시)
 - final(클래스의 종류를 명시)
 - ClassName(클래스 이름)
 - extends(상속)
 - implements(인터페이스)
 

객체(Object)
 
클래스의 인스턴스는 new 수식에 의해 만들어지며 이것이 객체이다.
타입이 클래스인 변수
이름은 소문자로 시작, 다음 단어의 시작은 대문자
인스턴스는 필요에 따라 얼마든지 만들어 낼 수 있다.(new 연산자를 통해)
이런 인스턴스들을 통틀어서 객체라 한다.
인스턴스는 클래스를 메모리에 생성한 것을 의미하며 일반적으로 객체와는 큰 구별 없이 사용한다.
인스턴스를 객체라 부르기도 하므로 “객체지향”이라고 할 때 “객체”는 인스턴스라고 보면 된다.



오라클자바커뮤니티교육센터, 개발자전문교육, 개인80%환급
www.oraclejavacommunity.com


평일주간(9:30~18:10) 개강
(7/07)[기업100%환급]C#4.0,WinForm,ADO.NET프로그래밍
(7/07)[기업100%환급]Spring ,MyBatis,Hibernate실무과정
(7/07)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지
(7/07)[채용예정교육]오라클자바개발잘하는신입뽑기프로젝트,교육전취업확정
(7/14)[기업100%환급]SQL기초에서 Schema Object까지
(7/14)[기업100%환급]PL/SQL,ORACLE HINT,TUNING
(7/14)[기업100%환급]안드로이드개발자과정

평일야간(19:00~21:50) 개강
(7/01)안드로이드개발자과정
(7/01)닷넷(C#,Network,ADO.NET,ASP.NET)마스터과정
(7/02)Spring3.X, MyBatis, Hibernate실무과정
(7/02)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/02)JAVA,Network&WEB&Framework(자바기초에서웹스프링까지)
(7/03)웹퍼블리싱 마스터
(7/15)SQL기초에서실무까지
(7/15)MyBatis3.X, Hibernate4.X ORM실무과정
(7/22)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지

주말(10:00~17:50) 개강
(7/05)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(7/05)SQL초보에서 Schema Object까지
(7/12)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/12)MyBatis3.X, Hibernate4.X ORM실무과정
(7/12)개발자를위한PLSQL,SQL튜닝,힌트
(7/13)C#,ASP.NET마스터
(7/19)Spring3.X, MyBatis, Hibernate실무과정
(7/19)웹퍼블리싱 마스터
(7/19)안드로이드개발자과정

주말저녁(18:30~22:20) 개강
(7/19)JAVA,Network&WEB&Framework
(8/09)SQL기초에서실무까지

[오라클자바커뮤니티,자바학원,자바설치,STS,이클립스설치,자바교육,스프링학원,JAVA,Spring학원,자바웹,스프링 개발환경설치]JAVA,Spring, STS, Tomcat7 개발환경설정, 다운로드

[오라클자바커뮤니티,자바학원,자바설치,STS,이클립스설치,자바교육,스프링학원,JAVA,Spring학원,자바웹,스프링 개발환경설치]JAVA,Spring, STS, Tomcat7 개발환경설정, 다운로드 
  
자바웹, 스프링 개발환경을 c:\java라는 폴더 아래에 세팅 하려하고 먼저 JDK1.7 부터 설치 합니다. 
  
0. http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 에서 JDK1.7을 자신의 PC환경에 맞게 다운로드 후 디폴트 경로(c:\programfiles) 아래에 설치하자. 
  
  
1.    이클립스 다운로드(eclipse4.3, kepler) 
  
-      hthttp://ftp.daum.net/eclipse/technology/epp/downloads/release/kepler/R/에 접속하여 kepler jee windows zip을 다운로드(대부분 Win32 bit 환경이죠) 
  
-      압축을 풀고 eclipse 폴더를 c:\java 아래에 복사 합니다. 
  
-      C:\java아래 project라고 폴더 만들고 
  
-      Eclipse 폴더의 eclipse.exe를 실행 합니다. 이클립스 실행시 “select a workspace” 창이 떠서 Workspace를 입력하라고 하는데 c:\java\project로 설정 합니다. (이클립스에서 자바 프로젝트 만들 때 기준이 되는 작업공간을 의미 합니다) 

2. STS란? 
- 이클립스에서 스프링을 편하게 쓰기 위해 스프링 IDE 프로젝트를 만들었고 얼마 지나지 않아 로드 존슨이 설립한 스프링 지원회사인 스프링소스(SpringSource)에서 스프링소스 툴 스위트(STS, SpringSource Tools Suite)를 만들었다. 한때 유료제품이었지만 지금은 무료. 
  
Eclipse4.3(KEPLER) + STS PlugIn 설치 
- 이클립스 Help > Eclipse Marketplace > Search > Find 에서 “STS” 로 검색 하여 SpringSource Tool Suite for Kepler(4.3)를 찾아서 install 버튼 클릭(이클립스 KEPLER를 사용중) 


참고로 JDK1.8(자바8)을 이클립스에 사용하려 한다면 아래의 설치 방법을 참조하세요. 

http://www.oraclejavacommunity.co.kr/bbs/board.php?bo_table=LecJava&wr_id=688 


3. Tomcat7 설치 및 연동하기 

톰캣(Tomcat7.0) 다운로드 
  
-      http://tomcat.apache.org 에 접속하여 좌측메뉴 Tomcat7.0 선택 후 32-bit-Windows Zip을 선택하여 다운로드(별로 어렵지 않으니 접속해서 다운 받아 보세요) 
  
-      C:\java아래 압축 푼 “apache-tomcat-7.0.40” 폴더를 복사해 주세요. 
  
-      C:\java\ apache-tomcat-7.0.40\conf 아래의 두 파일만 수정 합니다.                (server.xml, context.xml) 
  
[context.xml] 
19라인쯤에 <context> 를 <Context reloadable="true">로 수정  (자바코드 변경 시 자동 리로드 설정) 
  
[server.xml] 
69라인쯤 port=”8080” 옆에 URIEncoding=”utf-8”을 하나 더 써준다 
  
변경 후 a Connector port=”8080” URIEncoding=”utf-8” protocol=”HTTP/1.1” 
  
  
- 이클립스(Eclipse Kepler 4.3)와 톰캣(Tomcat7.0) 연동하기 
  
-      C:\java\eclipse\eclipse.exe를 실행 
-      우측 상단의 “java EE”를 클릭, 아래  Servers Tab 빈 공간에서 우측 마우스 클릭 후 new server wizard 클릭 
  

  
  
-      Define a New Server 창이 뜨면 Tomcat v7.0 Server 선택 후 Next 
  
-      Browse 클릭 해서 톰캣을 설치한 폴더 c:\java\apache-tomcat-7.0.40을 선택한다. 그 아래 Installed JREs… 는 jdk or jre 설치된 곳을 선택한다. 그리고 Next 
  
-      Add and Remove 창에서는 Finish를 클릭해서 설정을 마무리 
  
-      다 된 후에 아래쪽 Server 탭에 보시면 “Tomcat v7.0 Server at Localhost [Stopped, Republish]” 라고 보임 

  
-      Server 탭에 새로 생성된 “Tomcat v7.0 Server at Localhost [Stopped, Republish]”을 더블 클릭, Server Location에서 두번째 항목 클릭, Deploy Path Browse 후 c:\java\apache-tomcat-7.0.40\webapps를 선택, 그리고 빈드시 이클립스 상단 좌측 저장버튼 클릭클릭!! 
  
-      이제 톰캣을 실행해 보면 되는데 위 그림에서 아래 Server 탭에 생긴 “Tomcat v7.0 Server at Localhost [Stopped, Republish]”에서 마우스 우측 클릭 후 start 클릭 
  
-      브라우저(이클립스 상단 메뉴에서 지구본처럼 생긴거 클릭, 아니면 브라우저 하나 열어서)에서 http://localhost:8080/ 하여 고양이가 보이면 굿! 

감사합니다.



오라클자바커뮤니티교육센터, 개발자전문교육, 개인80%환급
www.oraclejavacommunity.com


평일주간(9:30~18:10) 개강
(7/07)[기업100%환급]C#4.0,WinForm,ADO.NET프로그래밍
(7/07)[기업100%환급]Spring ,MyBatis,Hibernate실무과정
(7/07)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지 
(7/07)[채용예정교육]오라클자바개발잘하는신입뽑기프로젝트,교육전취업확정
(7/14)[기업100%환급]SQL기초에서 Schema Object까지
(7/14)[기업100%환급]PL/SQL,ORACLE HINT,TUNING
(7/14)[기업100%환급]안드로이드개발자과정

평일야간(19:00~21:50) 개강
(7/01)안드로이드개발자과정
(7/01)닷넷(C#,Network,ADO.NET,ASP.NET)마스터과정
(7/02)Spring3.X, MyBatis, Hibernate실무과정
(7/02)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/02)JAVA,Network&WEB&Framework(자바기초에서웹스프링까지)
(7/03)웹퍼블리싱 마스터
(7/15)SQL기초에서실무까지
(7/15)MyBatis3.X, Hibernate4.X ORM실무과정
(7/22)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지

주말(10:00~17:50) 개강
(7/05)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(7/05)SQL초보에서 Schema Object까지
(7/12)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/12)MyBatis3.X, Hibernate4.X ORM실무과정
(7/12)개발자를위한PLSQL,SQL튜닝,힌트
(7/13)C#,ASP.NET마스터
(7/19)Spring3.X, MyBatis, Hibernate실무과정
(7/19)웹퍼블리싱 마스터
(7/19)안드로이드개발자과정

주말저녁(18:30~22:20) 개강
(7/19)JAVA,Network&WEB&Framework
(8/09)SQL기초에서실무까지

[닷넷교육,C#교육,오라클자바커뮤니티기초실무닷넷교육추천,C#람다식,델리게이트,C# Lambda, delegate예제]무명함수,익명메소드 예제,함수포인터

[닷넷교육,C#교육,오라클자바커뮤니티기초실무닷넷교육추천,C#람다식,델리게이트,C# Lambda, delegate예제]무명함수,익명메소드 예제,함수포인터

//수를 입력하면 제곱근을 구하는 익명메소드를 람다식을 
//delegate, lambda 식을 이용하여 구하시오.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Lambda
{
    class Program
    {
        delegate double OnJSQRT(double a);

        static void Main(string[] args)
        {
            //람다식 이용
            OnJSQRT sqrt1 = (a) => Math.Sqrt(a);
            double sum1 = sqrt1(4.0);
            Console.WriteLine("Math.Sqrt(1.0)={0}",sum1);

            //델리게이트 이용
            OnJSQRT sqrt2 = delegate(double a)
            {
                return Math.Sqrt(a);
            };
            double sum2 = sqrt1(16.0);
            Console.WriteLine("Math.Sqrt(1.0)={0}", sum2);



        }
    }
}


[결과]
Math.Sqrt(1.0)=2
Math.Sqrt(1.0)=4

오라클자바커뮤니티교육센터, 개발자전문교육, 개인80%환급
www.oraclejavacommunity.com


평일주간(9:30~18:10) 개강
(7/07)[기업100%환급]C#4.0,WinForm,ADO.NET프로그래밍
(7/07)[기업100%환급]Spring ,MyBatis,Hibernate실무과정
(7/07)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지
(7/07)[채용예정교육]오라클자바개발잘하는신입뽑기프로젝트,교육전취업확정
(7/14)[기업100%환급]SQL기초에서 Schema Object까지
(7/14)[기업100%환급]PL/SQL,ORACLE HINT,TUNING
(7/14)[기업100%환급]안드로이드개발자과정

평일야간(19:00~21:50) 개강
(7/01)안드로이드개발자과정
(7/01)닷넷(C#,Network,ADO.NET,ASP.NET)마스터과정
(7/02)Spring3.X, MyBatis, Hibernate실무과정
(7/02)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/02)JAVA,Network&WEB&Framework(자바기초에서웹스프링까지)
(7/03)웹퍼블리싱 마스터
(7/15)SQL기초에서실무까지
(7/15)MyBatis3.X, Hibernate4.X ORM실무과정
(7/22)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지

주말(10:00~17:50) 개강
(7/05)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(7/05)SQL초보에서 Schema Object까지
(7/12)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/12)MyBatis3.X, Hibernate4.X ORM실무과정
(7/12)개발자를위한PLSQL,SQL튜닝,힌트
(7/13)C#,ASP.NET마스터
(7/19)Spring3.X, MyBatis, Hibernate실무과정
(7/19)웹퍼블리싱 마스터
(7/19)안드로이드개발자과정

주말저녁(18:30~22:20) 개강
(7/19)JAVA,Network&WEB&Framework
(8/09)SQL기초에서실무까지

[오라클자바커뮤니티SQL실무기초교육,튜닝교육,오라클힌트,튜닝SQL학원교육추천]오라클SQL실행계획-실행 계획 해석하기(1) , ORACLE학원,ORACLE교육추천,구로가신디지털단지,SQL교육

[오라클자바커뮤니티SQL실무기초교육,튜닝교육,오라클힌트,튜닝SQL학원교육추천]오라클SQL실행계획-실행 계획 해석하기(1) , ORACLE학원,ORACLE교육추천,구로가신디지털단지,SQL교육

실행계획을 예를 들어 하나씩 해석해 보도록 하죠^^

이전의 강좌에도 있지만 실행 계획은 일반적으로 아래와 같은 기준으로 해석 됩니다.

-        실행계획의 가장 안쪽으로 들여 쓰기 된 것이 먼저 수행
-        실행 계획의 각 문장은 들여쓰기간 한 단계 덜된 부모 문장에 종속
-        동일하게 들여 쓰기 된 문장이 여러 개 있는 경우 가장 위 문장이 우선 실행
-        인덱스를 경유하여 테이블을 Access하는 두 실행 계획은 하나로 취급(테이블 Lookup에 사용되는 Index Scan을 의미)

아래의 예를 보도록 할까요?

SQL> SELECT /*+ FULL(D) */
              ENAME,
              SAL,
              JOB
      FROM  DEPT D
      WHERE DEPTNO = 20
      UNION ALL
 SELECT /*+ INDEX(E IDX_DEPT_DEPTNO) */
              ENAME,
              SAL,
              JOB
      FROM  DEPT E
      WHERE DEPTNO = 30

Execution plan
----------------------------------------------------------------
SELECT STATEMENT Optimizer=CHOOSE
UNION-ALL(1)
 TABLE ACCESS (FULL) OF ‘DEPT’(2)
 TABLE ACCESS (BY INDEX ROWID) OF ‘DEPT’(3)
  INDEX (RANGE SCAN) OF ‘IDX_DEPT_DEPTNO’ (NON_INIQUE) (4)

가장 들여쓰기가 많이 되어있는 안쪽은 (4)번입니다. 그런데 인덱스를 경유하여 테이블을 Access하는 두 실행 계획은 하나로 취급한다고 하였으므로 (3)과(4)는 하나의 문장으로 취급합니다.그러므로 (2)번 문장이 제일 먼저 수행되며 그 다음 (3),(4)문장, 그리고 (1)번 문장이 수행됩니다. 즉 DEPT TABLE에서 DEPTNO가 20인 데이터는 (2)번에 의해 DEPT TABLE을 FULL SCAN해서 얻었으며 30인 데이터는 IDX_DEPT_DEPTNO 인덱스를 통하여 얻어진 ROWID 값을 이용하여 DEPT TABLE을 Access하여 얻은 것 입니다. 그런 다음 (1)에 의해 두 데이터를  UNION ALL 한 것이죠…


오라클자바커뮤니티교육센터, 개발자전문교육, 개인80%환급
www.oraclejavacommunity.com


평일주간(9:30~18:10) 개강
(7/07)[기업100%환급]C#4.0,WinForm,ADO.NET프로그래밍
(7/07)[기업100%환급]Spring ,MyBatis,Hibernate실무과정
(7/07)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지 
(7/07)[채용예정교육]오라클자바개발잘하는신입뽑기프로젝트,교육전취업확정
(7/14)[기업100%환급]SQL기초에서 Schema Object까지
(7/14)[기업100%환급]PL/SQL,ORACLE HINT,TUNING
(7/14)[기업100%환급]안드로이드개발자과정

평일야간(19:00~21:50) 개강
(7/01)안드로이드개발자과정
(7/01)닷넷(C#,Network,ADO.NET,ASP.NET)마스터과정
(7/02)Spring3.X, MyBatis, Hibernate실무과정
(7/02)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/02)JAVA,Network&WEB&Framework(자바기초에서웹스프링까지)
(7/03)웹퍼블리싱 마스터
(7/15)SQL기초에서실무까지
(7/15)MyBatis3.X, Hibernate4.X ORM실무과정
(7/22)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지

주말(10:00~17:50) 개강
(7/05)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(7/05)SQL초보에서 Schema Object까지
(7/12)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/12)MyBatis3.X, Hibernate4.X ORM실무과정
(7/12)개발자를위한PLSQL,SQL튜닝,힌트
(7/13)C#,ASP.NET마스터
(7/19)Spring3.X, MyBatis, Hibernate실무과정
(7/19)웹퍼블리싱 마스터
(7/19)안드로이드개발자과정

주말저녁(18:30~22:20) 개강
(7/19)JAVA,Network&WEB&Framework
(8/09)SQL기초에서실무까지

[오라클자바커뮤니티 오라클기초,실무PL/SQL,SQL튜닝교육]오라클 옵티마이저 모드설정(ORACLE Optimizer Mode Setting 방법) ,오라클학원,SQL학원 실무교육 제대로 배우세요!!

[오라클자바커뮤니티 오라클기초,실무PL/SQL,SQL튜닝교육]오라클 옵티마이저 모드설정(ORACLE Optimizer Mode Setting 방법) ,오라클학원,SQL학원 실무교육 제대로 배우세요!!

--------------------------
1.        Instance 수준의 셋팅 방법
--------------------------
-        DB의 설정 파일(initSID.ora or spfileSID.ora)에 전체적으로 적용이 되도록 정의하는 방법이며 다음과 같이 기술하며 OPTIMIZER MODE는 REUL, CHOOSE, ALL_ROOWS, FIRST_ROWS와 같은 종류가 있습니다. CHOOSE인 경우 한테이블이라도 Analyzed되어 있는 경우엔 비용기반 접근 방식을 이용하는 것이며 RULE인 경우 규칙기반 접근 방식을 사용, ALL_ROWS인 경우 비용기반 옵티마이저의 한 방법이며 모든 ROW들을 처리한다고 할 때 그 비용을 최소화 하는 방법으로 실행계획을 수립하며,  FIRST_ROWS인 경우엔 최초 ROW를 추출하는데 드는 비용을 최소화 하도록 실행 계획을 구성하는 것입니다.

-        예) OPTIMIZER_MODE=FIRST_ROWS

-        만약 initSID or spfileSID.ora에 아무 내용도 정의하지 않은 경우 기본적으로 CHOOSE 방식이 됩니다.

-------------------------
2.        Session 수준의 셋팅 방법
-------------------------

-        alter session이라는 명령을 이용하면 현재 접속된 세션 레벨에서 옵티마이저 모드를 정의할 수 있습니다.

-        예) alter session set optimizer_goal=rule 앞과 같이 정의하면 해당 세션이 끝나기 전까지는 규칙 기반(,RULE-BASED) 옵티마이저 모드를 이용하게 됩니다.

--------------------------
3.        Statement 수준의 셋팅 방법
--------------------------

-        힌트(Hint) 구문을 이용한다면 매 SQL 문장마다 서로 다른 옵티마이저 모드를 적용할 수 있습니다.

-        예) SELECT /*+ FIRST_ROWS */
                          ENAME,
                          SAL,
                          JOB
              FROM EMP
              WHERE SAL > (SELECT MAX(SAL)
                                    FROM  EMP
                                    WHERE DEPTNO = 10)


오라클자바커뮤니티교육센터, 개발자전문교육, 개인80%환급
www.oraclejavacommunity.com


평일주간(9:30~18:10) 개강
(7/07)[기업100%환급]C#4.0,WinForm,ADO.NET프로그래밍
(7/07)[기업100%환급]Spring ,MyBatis,Hibernate실무과정
(7/07)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지
(7/07)[채용예정교육]오라클자바개발잘하는신입뽑기프로젝트,교육전취업확정
(7/14)[기업100%환급]SQL기초에서 Schema Object까지
(7/14)[기업100%환급]PL/SQL,ORACLE HINT,TUNING
(7/14)[기업100%환급]안드로이드개발자과정

평일야간(19:00~21:50) 개강
(7/01)안드로이드개발자과정
(7/01)닷넷(C#,Network,ADO.NET,ASP.NET)마스터과정
(7/02)Spring3.X, MyBatis, Hibernate실무과정
(7/02)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/02)JAVA,Network&WEB&Framework(자바기초에서웹스프링까지)
(7/03)웹퍼블리싱 마스터
(7/15)SQL기초에서실무까지
(7/15)MyBatis3.X, Hibernate4.X ORM실무과정
(7/22)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지

주말(10:00~17:50) 개강
(7/05)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(7/05)SQL초보에서 Schema Object까지
(7/12)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/12)MyBatis3.X, Hibernate4.X ORM실무과정
(7/12)개발자를위한PLSQL,SQL튜닝,힌트
(7/13)C#,ASP.NET마스터
(7/19)Spring3.X, MyBatis, Hibernate실무과정
(7/19)웹퍼블리싱 마스터
(7/19)안드로이드개발자과정

주말저녁(18:30~22:20) 개강
(7/19)JAVA,Network&WEB&Framework
(8/09)SQL기초에서실무까지

[구로/가산/신림/신도림자바(JAVA)교육학원ORACLEJAVA커뮤니티자바기초,JSP,JDBC실무교육,개발자직강]자바 객체 생성자(java constructor, object constructor, java new),JAVA교육학원추천합니다!!

[구로/가산/신림/신도림자바(JAVA)교육학원ORACLEJAVA커뮤니티자바기초,JSP,JDBC실무교육,개발자직강]자바 객체 생성자(java constructor, object constructor, java new),JAVA교육학원추천합니다!!
 
생성자가 정의 되어 있지 않아도 된다. 생성자가 하나도 없는 경우에는 컴파일러가 몸체가 비어있는 아래처럼 매개변수 없는 생성자를 정의해 준다.

Class Person{
Person() { }
……
}
 
생성자는 ‘this’ 키워드를 사용하는 특별한 문법에 의해 자기자신 클래스의 다른 생성자를 호출할 수 있다.

상속 관계에 있는 하위클래스에서 상위클래스의 생성자를 호출 할 때는 super라는 키워드를 쓰며 이러한 this, super를 이용한 다른 생성자의 호출은 첫 문장에 나타나야 한다.
 
객체가 생성될 때 호출되어 실행하는 메서드이며 메서드 이지만 유일하게 리턴형이 없고 클래스 이름과 동일하다

new 연산자가 호출된 직후에 호출, new 연산자가 메모리를 생성하면 멤버변수들이 메모리를 할당 받는다.따라서 변수들에 대한 초기화 작업이 가능해짐
 
- 생성자 메서드의 사용이유
할당 받은 멤버변수를 초기화 할 때
객체가 생성되기 전의 미리 해야 할 작업이 있을 때 주로 사용한다.
 
[예제]
public class Person {
 private String name = null;

 //파라미터 없는 기본 생성자
 public Person() {
  this.name = "이름없음";
 }
 public void setName(String name) {
  this.name = name;
 }
 public String getList() {
  String str = name;
  return str;
 }
 public static void main(String[] args) {
  Person p = new Person();
  String s = p.getList();
 
  System.out.println(s);
  p.setName("홍길동");
  s = p.getList();
 
  System.out.println(s);
 }
}

[결과]
 
이름없음
홍길동
 

오라클자바커뮤니티교육센터, 개발자전문교육, 개인80%환급
www.oraclejavacommunity.com


평일주간(9:30~18:10) 개강
(7/07)[기업100%환급]C#4.0,WinForm,ADO.NET프로그래밍
(7/07)[기업100%환급]Spring ,MyBatis,Hibernate실무과정
(7/07)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지 
(7/07)[채용예정교육]오라클자바개발잘하는신입뽑기프로젝트,교육전취업확정
(7/14)[기업100%환급]SQL기초에서 Schema Object까지
(7/14)[기업100%환급]PL/SQL,ORACLE HINT,TUNING
(7/14)[기업100%환급]안드로이드개발자과정

평일야간(19:00~21:50) 개강
(7/01)안드로이드개발자과정
(7/01)닷넷(C#,Network,ADO.NET,ASP.NET)마스터과정
(7/02)Spring3.X, MyBatis, Hibernate실무과정
(7/02)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/02)JAVA,Network&WEB&Framework(자바기초에서웹스프링까지)
(7/03)웹퍼블리싱 마스터
(7/15)SQL기초에서실무까지
(7/15)MyBatis3.X, Hibernate4.X ORM실무과정
(7/22)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지

주말(10:00~17:50) 개강
(7/05)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(7/05)SQL초보에서 Schema Object까지
(7/12)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/12)MyBatis3.X, Hibernate4.X ORM실무과정
(7/12)개발자를위한PLSQL,SQL튜닝,힌트
(7/13)C#,ASP.NET마스터
(7/19)Spring3.X, MyBatis, Hibernate실무과정
(7/19)웹퍼블리싱 마스터
(7/19)안드로이드개발자과정

주말저녁(18:30~22:20) 개강
(7/19)JAVA,Network&WEB&Framework
(8/09)SQL기초에서실무까지

[구로/가산디지털단지자바교육학원추천,자바국비지원무료교육진행]자바 접근제어, public, private, 클래스, 메소드, 페키지 접근제어,JAVA의 저근을 제어하는 접근지시자 사용 및 그 법위입니다.

[구로/가산디지털단지자바교육학원추천,자바국비지원무료교육진행]자바 접근제어, public, private, 클래스, 메소드, 페키지 접근제어,JAVA의 저근을 제어하는 접근지시자 사용 및 그 법위입니다.
 
자바에서 아무 접근 제어자를 쓰지 않을 경우 package protected(default)로 설정
- 같은 패키지, 폴더 내에서 접근가능
 
 
 
 
[그림]같은 패키지내의 접근제어, privtae만 접근 불가!


[그림]다른 패키지내의 접근제어, public만 접근 가능!


class Circle
{
 //아래 private으로 선언한 변수는 Circle안에서만 접근 가능
    private double area = 0;
    public void setRadius( double r )
    {
        area = Math.PI * r * r;
    }
    public double getArea()
    {
        return area;
    }
    public void display()
    {
        System.out.println("면적은?  " +Math.sqrt( area / Math.PI ) + " = " + getArea() );
    }
}

class AccessTest
{
    public static void main( String args[] )
    {
        Circle circle1 = new Circle();
        Circle circle2 = new Circle();
       
        circle1.setRadius( 1 );
        circle2.setRadius( 2 );
       
        circle1.display();
        circle2.display();
       
        double sumAreas = circle1.getArea() + circle2.getArea();
       
        System.out.println( "Sum of areas of circle1 and circle2 = "
                            + sumAreas );
        //System.out.println( circle1.area ); // 오류: 접근 불가, 아래처럼접근
        System.out.println( circle1.getArea() );
    }
}
 
면적은?  1.0 = 3.141592653589793
면적은?  2.0 = 12.566370614359172
Sum of areas of circle1 and circle2 = 15.707963267948966
3.141592653589793
 

오라클자바커뮤니티교육센터, 개발자전문교육, 개인80%환급
www.oraclejavacommunity.com


평일주간(9:30~18:10) 개강
(7/07)[기업100%환급]C#4.0,WinForm,ADO.NET프로그래밍
(7/07)[기업100%환급]Spring ,MyBatis,Hibernate실무과정
(7/07)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지
(7/07)[채용예정교육]오라클자바개발잘하는신입뽑기프로젝트,교육전취업확정
(7/14)[기업100%환급]SQL기초에서 Schema Object까지
(7/14)[기업100%환급]PL/SQL,ORACLE HINT,TUNING
(7/14)[기업100%환급]안드로이드개발자과정

평일야간(19:00~21:50) 개강
(7/01)안드로이드개발자과정
(7/01)닷넷(C#,Network,ADO.NET,ASP.NET)마스터과정
(7/02)Spring3.X, MyBatis, Hibernate실무과정
(7/02)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/02)JAVA,Network&WEB&Framework(자바기초에서웹스프링까지)
(7/03)웹퍼블리싱 마스터
(7/15)SQL기초에서실무까지
(7/15)MyBatis3.X, Hibernate4.X ORM실무과정
(7/22)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지

주말(10:00~17:50) 개강
(7/05)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(7/05)SQL초보에서 Schema Object까지
(7/12)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/12)MyBatis3.X, Hibernate4.X ORM실무과정
(7/12)개발자를위한PLSQL,SQL튜닝,힌트
(7/13)C#,ASP.NET마스터
(7/19)Spring3.X, MyBatis, Hibernate실무과정
(7/19)웹퍼블리싱 마스터
(7/19)안드로이드개발자과정

주말저녁(18:30~22:20) 개강
(7/19)JAVA,Network&WEB&Framework
(8/09)SQL기초에서실무까지

[자바교육학원추천!!, 구로/가산디지털단지오라클자바커뮤니티자바교육학원추천합니다.자바8, JDK1.8,특징새기능>JAVA8 람다식(Lambda),JAVA람다시그자바교육학원,JAVA교육추천!!

[자바교육학원추천!!, 구로/가산디지털단지오라클자바커뮤니티자바교육학원추천합니다.자바8, JDK1.8,특징새기능>JAVA8 람다식(Lambda),JAVA람다시그자바교육학원,JAVA교육추천!!
 
닷넷에서 제공하는 람다식(닷넷에서는 이름없는 함수를 정의할 때 람다식을 쓰죠)을 JDK1.8에서는 지원한다고 하네요
 
예제를보시죠.
 
보통 AWT, SWING에서 이벤트 처리할 때 익명 클래스를 많이 이용하죠.
 
 
btn.setOnAction(new EventHandler<ActionEvent>() {
    @Override
    public void handle(ActionEvent event) {
        System.out.println("Hello OnJOracleJava!");
    }
});

==> 람다식을 적용하면
btn.setOnAction(
    event -> System.out.println("Hello OnJOracleJava!")
);
 

오라클자바커뮤니티교육센터, 개발자전문교육, 개인80%환급
www.oraclejavacommunity.com


평일주간(9:30~18:10) 개강
(7/07)[기업100%환급]C#4.0,WinForm,ADO.NET프로그래밍
(7/07)[기업100%환급]Spring ,MyBatis,Hibernate실무과정
(7/07)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지 
(7/07)[채용예정교육]오라클자바개발잘하는신입뽑기프로젝트,교육전취업확정
(7/14)[기업100%환급]SQL기초에서 Schema Object까지
(7/14)[기업100%환급]PL/SQL,ORACLE HINT,TUNING
(7/14)[기업100%환급]안드로이드개발자과정

평일야간(19:00~21:50) 개강
(7/01)안드로이드개발자과정
(7/01)닷넷(C#,Network,ADO.NET,ASP.NET)마스터과정
(7/02)Spring3.X, MyBatis, Hibernate실무과정
(7/02)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/02)JAVA,Network&WEB&Framework(자바기초에서웹스프링까지)
(7/03)웹퍼블리싱 마스터
(7/15)SQL기초에서실무까지
(7/15)MyBatis3.X, Hibernate4.X ORM실무과정
(7/22)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지

주말(10:00~17:50) 개강
(7/05)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(7/05)SQL초보에서 Schema Object까지
(7/12)자바웹(JSP,Spring,MyBatis,XPlatform)프로젝트과정
(7/12)MyBatis3.X, Hibernate4.X ORM실무과정
(7/12)개발자를위한PLSQL,SQL튜닝,힌트
(7/13)C#,ASP.NET마스터
(7/19)Spring3.X, MyBatis, Hibernate실무과정
(7/19)웹퍼블리싱 마스터
(7/19)안드로이드개발자과정

주말저녁(18:30~22:20) 개강
(7/19)JAVA,Network&WEB&Framework
(8/09)SQL기초에서실무까지