728x90
반응형

-method method 선언과 호출-

 

1. 반환형이 있는 method

자료형 method 변수(){ return 값; }

호출문 ( 자료형 변수=method변수.(); )

호출하려는 method와 관련이 있는 클래스에 대한 객체생성이 필요

 

2. 반환형이 없는 method

void method 변수 (){}

호출문 ( method변수.(); )

호출하려는 method와 관련이 있는 클래스에 대한 객체생성이 필요하다.

 


class B{

void a(){ System.out.println(1); }

void b(){ System.out.println(2); }

void c(){ System.out.println(3); }

}



class C{

  public static void main(String args[]){

    B o=new B(); //배열 2번 구조 자료형[] 배열형=new 자료형[방 개수] 활용이랑 비슷하다고 생각을 하자

                //클래스 "B" 객체생성이 가능하다. 객체 생성된 주소가 변수 o에 저장된다

                //이때 자료형의 자리에는 클래스 "이름" 이 오는 것이 특징

                //또 한 클래스는 참조형으로 자료형이 될 수 있음을 기억하자

    o.a(); 		//o에 저장된 클래스 B의 객체 주소가 a()를 불러온다

                //즉, 객체생성으로 인한 주소가 o에 저장이 되고 a() method가 실행된다

                //o. a()에 대해 (.) 콤마 앞에는 클래스 주소(변수)만 사용할 수 있다

    System.out.println(4);

  }

}

// 결과는 1 2 3 4가 출력 될것이다 띄워쓰기는 생략한다

위와 같이 클래스를 객체를 생성하여 클래스 내부의 매서드를 실행시키기 아주 좋은 방법이다

이 방법은 앞으로 프로그래머로써 아주 기본이되는 것이므로 필히 기억하고 선언과 호출을 기억해야한다

 

이때 o.a();가 호출문이고 void a(){} 가 선언문이 된다

 

 

-method 활용법-

이제 기본기를 익혔으니 간단하게  다른 예문을 보도록하자


class Dog{

  void sound(){System.out.println("멍멍");}

}

class Cat{

  void sound(){System.out.println("옹야");}

}

class D{

  public static void main(String[] args){

    Dog o=new Dog();

    o.sound();

    Cat p=new Cat();

    p.sound();

  }

}

 


엔트리 포인트에서 여러 클래스를 객체생성하여 사용이 가능하다

 

 

 

 

-method 호출과 매개변수-

 

method 명은 숫자로 시작하면 안 되며, 소문자로 작성하고, 혼합은 뒤 단어의 첫머리글자를 대문자로 한다


class E{

  void a(int v1){System.out.println(1);}

    // method의 선언(헤드) 부 시그니쳐 라고 한다

    // method a에 대한 매개변수 v1은 method b의 매개변수 v1은 서로 적용받지 않는다

    // 매개변수는 v1은 호출문에 “o.a(100);“ 100 값이 v1에 저장된다

    // 자동으로 “int v1=100”이 라는 식이 성립된다

    // 또 한 v1은 실행문에서 활용이 가능하다.

  void b(char v1, int v2){System.out.println(2);}

    // method 매개변수 간에 자료형의 타입은 서로 관계가 없다.

  void c(){System.out.println(3);

}

class F{

  public static void main(String[] args){

    System.out.println(4);

    E o=new E();

    o.a(100);

    o.b('B',200); //호출할 때에는 타입의 개 수와 순서를 맞추어야 한다

    o.c();

  }

}

// 결과는 1 2 3 4 즉, method 호출문에 작성된 매개변수의 값은 호출에 필요한 조건들이며 출력이 되는 값은 아니다.



// 만약 결과 값을 매개변수 값과 같게 하려면 매개변수를 출력 값에 지정하면 된다. 
// 아래와 같이 작성해보자

void a(int v1){System.out.println(v1);} // 100

void b(char v1, int v2){System.out.println(v1); // B

System.out.println(v2) // 200

}

위의 방법은 메서드에 매겨변수로 받은 변수들의 활용이다 그 매개변수들은 실행문 즉 블럭에서 사용이가능하다

이렇게 다른 클래스에서 어떠한 값을 가지고 있는 변수를 호출시 매개변수로 지정을하게되면 클래스 내부의 값을 다른 클래스로 전달하는 효과를 가질 수 있다

 

이러한 활용을 잘 익혀두자

 

-명령행 개수 과 method 활용 예문-

명령행 개수를 활용하여 cmd창에서 값을 바꿔어 가면서 연습할 수 있다

 

2020/06/11 - [Java/Java 입문] - [Java] 명령행 매개변수 cmd창에 직접 값넣기

 

[Java] 명령행 매개변수 cmd창에 직접 값넣기

오늘은 명령행 매개변수를 알아보자 cmd창에서 입문자들이 연습을 할 때 사용하면 엔트리 포인트에 args[0]를 어떻게 활용하는지 알 수 있다 -명령행 매개변수- class AB{ public static void main(String[] args

tantangerine.tistory.com


class Gugudan{

  void print(int dan){

    System.out.println(dan+"단");

    for(int num=1; num<10; num++){ // dan 명령행 매개변수가 실행되면 지정한 숫자만큼 for문으로 실행

      System.out.print(dan); // 결과 값을 출력한다

      System.out.print("*");

      System.out.print(num);

      System.out.print("=");

      System.out.println(dan*num);

    } // 클래스 Gugudan 에서

  } // method 변수 print 매개변수 이름은

} // method 선언문의 매개변수와 같아도 무관하다

class H{

  public static void main(String args[]){

    Gugudan a=new Gugudan();

    int dan=Integer.parseInt(args[0]); // 명령행 매개변수가 지정되어 실행될 때 dan에 정수 값이 저장되고

    a.print(dan); // a.print(dan); dan이 args[0] 실행되어 method를 호출한다

  }
}

위에서 보듯이 arg[0]을 호출문에 작성하고 cmd창에서 값을 입력하여 실행할 수 있다

자세한 사항은 다음 포스팅에 설명할 수 있는 기회를 삼아 보겠다

 

 

 

-반환형이 있는 method 선언-

[선언하기]

자료형 method명(){

  명령문;

  ....

  return 값;

}

 

class H{

  int a(){System.out.println(1); return 100;}

  String b(){System.out.println(2);return "aa";}

  boolean c(){System.out.println(3);return true;}

  // 반환형 method는 return 값을 지정한다 이 때 그 값은 method 타입과 일치시킨다

}

class I{

  public static void main(String[] args){

    System.out.println(4);

    H o = new H();

    int v1=o.a(); // method a를 불러들이고 싶을 때 무 반환형과는 달리 method 타입을 같게 한다

      // 그 이유는 method a의 return 값이 100이며 그 100의 값이 호출문으로 돌아와 v1에 저장된다

      // 저장될 때 정수의 값 100이 저장되므로 자료형의 타입 int를 맞춰주어야 한다

      // 계속해서 int v1=o.a(); 에서 단독의 o.a(); 호출문에 의해

      // out.println가 발생하고 그 값은 1이 출력된다

      // v1의 값이 출력하고 싶다면 아래와 같이 System.out.println(v1); 작성하여 변수설정을 한다

      // 그 출력 값은 100이 된다

    String v2=o.b();

    boolean v3=o.c();

    System.out.println(v1);

    System.out.println(v2);

    System.out.println(v3); //결과 1 2 3 100 “aa” true

  }

}

 


반환형있는 메서드는 메서드를 실행하고 어떠한 결과 값을 메서드 호출한 곳으로 리턴시켜준다

이 반환형있는 메서드는 자바에서 아주 중요하다고 할 수 있다 

실제로 어느 프로젝트에서도 가장 기본이되는 자바 중에서도 이 메서드 활용이 제일 큰 비중을 차지할 것이다

그러니 메서드의 활용과 개념은 꼭 확인 해두자! 

 

 

-method 배열선언 return 배열 활용문 -

 

반환형있는 메서드의 리턴값을 배열로 선언하고 그에 따른 활용법을 알아보자


class M{

  int m1(){ return 1;}

  String m2(){ return "aa";}

    int[] m3(){

      int[] array={2,3,4}; // method 실행문에서 배열을 선언해서 그 배열의 변수를 return 하여

      return array; // 호출문에서 활용이 가능하다.

  }

}


class N{

  public static void main(String[] args){

    M o=new M();

    int v1=o.m1();

    String v2=o.m2();

    int[] v3=o.m3(); // return array 값은 배열이기 때문에 자료형도 1차원 배열로 만듬

    System.out.println(v1);

    System.out.println(v2);

      for(int b=0; b<3; b++){ // for 문으로 한번에 출력

        System.out.println(v3[b]);
      }
  }
}

이렇게 리턴값에 배열로 선언하여 호출문에서 그 배열을 활용할 수 있다

어떻게 보면 자바스크립트에서 함수와 모듈의 느낌이 비슷할 수 있다

그 느낌을 살려 활용법과 개념을 필히 익히도록하자

 

 

아래에 문제를 한개를 준비 했다 

밑에 호출문을 보고 여러 클래스를 만들어서 선언문을 작성 하면 된다 

 

 결과적으로 v1.printInfo() 라는 메서드를 실행하면

 

이름 : 박혁민, 지역 : 서울, 학교 : 서울초등학교, 학년 : 5

 

위의 문자열이 출력되게 코드를 작성하면 된다


class O{
	public static void main(String[] args){
    
		Location v2=new Location();	v2.name="서울";		// 객체 생성된 변수를 이용하여
        
		School v3=new School();		v3.name="서울초등학교";	// 클래스 멤버변수의 값을 할당한다
        
		Child v1=new Child();		v1.name=“박혁민”;		
        
		v1.setValue( “박혁민”, 6, v3, v2 );
        
		v1.printInfo();
	}

여기서는 멤버, 로컬, 매개 변수를 활용하여야 하고 객체모델링을 정확히 이해하고 해야만 가능할것같다

그럼 다음 포스팅인 객체모델링 멤버, 로컬, 매개 변수에 따른 메서드의 활용에서 이 문제를 같이 해결해보자

 

 

 

 

728x90
반응형
728x90
반응형

삼항연산자 (항이 3개인 연산자)

 

자료형 변수 = 조건 ? 값 1 : 값2;  <--코드식

자료형 변수 = 조건 ? 값 1 : ( 조건 ? 값 2 : 값3 );

 

조건이 true이면 값1이 변수에 할당된다

조건이 false이면 값2가 변수에 할당된다

 

예제를 한번보고 넘어가도록 하자


class C{

  public static void main(String[] args){

    int num=-9; //예제에서 num은 –9가 되므로 0보다 크지 않기 때문에

    String a=num>0 ? "양수" : "음수"; //조건식에 false가 선언되어 우측변수에 할당된다 

    System.out.println(a); //결과는 음수이다.
  }

}

위와 같이 num이 0보다 크다면 첫번째 섹터에 있는 "양수"를 String a 저장하고

크지 않다면 "음수"를 String a에 저장하게 된다 

 

다른 예제를 살펴 보도록 하자

 


class E{

  public static void main(String[] args){

    int num=0;

    String a= num==0 ? "영" : ( num<0 ? "음수" : "양수") ;

    System.out.println(a); 
  }
}

class E{

  public static void main(String[] args){

    int num=0;

    String a= num!=0 ? ( num<0 ? "음수" : "양수") ; "영"

    System.out.println(a); 
  }
}

위와 같이 중복으로 사용할 수 있다.

조건식에 num의 값이 0으로 true일 경우 “영” 이 호출되지만

만약 false 경우 오른쪽 중괄호 조건식을 향한다. 이때 중괄호 안에 조건식을 선언해서

구체적인 값을 다시 물어볼 수 있다

 

 

 

return 삼항연산자, method 동시 활용법


class Mymath{

  int max(int a, int b){

  return a>b ? a:b; // 명령행 매개변수의 값이 지정하면 method 선언으로

  } // return 값을 호출문에 돌아간다

} // v3에 그 값은 저장이 되고 출력문을 통해 v3가 출력된다


class Z{

  public static void main(String[] args){

    Mymath o=new Mymath();

    int v1=Integer.parseInt(args[0]);

    int v2=Integer.parseInt(args[1]);

    int v3=o.max(v1,v2); // 명령행 매개변수를 정수로 변환하여

    System.out.println(v3); // 그 변수를 method 매개변수에 재할당된 값으로

  } // 삼항연산을 한 값을 return을 하여 호출문에서 출력한다

}

class I{

  public static void main(String[] args){

    int num=Integer.parseInt(args[0]);

    String a= num>0 ? "양수" : "음수"; // num이 0보다 작을 때 a에 음수가 저장되고

    String a1= num==0 ? "영" : a; //num이 0과 같지 않을 때 a가 a1에 저장된다

    //이때 a는 음수라는 문자열 값을 가진다

    System.out.println(a1);
  }
}


위의 메서드를 활용해서 삼항연산자를 사용하면 일정 값을 대치하여 간편하게 이용할 수 있다

 

 

 

-삼항연산자, 논리연산자 활용예문-


class A{

  public static void main(String args[]){

    int age=35;

    String a= (20<=age && age<30) ? "20대" : "20대아님";

    System.out.println(a);

  }
}

 


마지막으로 삼항연산자를 이용하여 짝, 홀수 판별해보자

 

public class EvenOddTriCondition {

  public static void main (String[] args) {
  
    int temp = 99;
    
    temp = (temp%2==1) ? temp*3+1 : temp/2;
    
    System.out.printf("계산 후=%d\n", temp);
    
  }
  
}

 

temp가 6일 때 (temp%2)는 0으로 짝수이다. 홀수가 아니므로 temp/2인 3을 temp에 대입한다.

temp가 5일 때 (temp%2)는 1로 홀수이다. 홀수이므로 tempX3+1인 16을 temp에 대입한다.


 

논리 연산자와 삼항연산자를 동시에 사용할 수 있다

이러한 예제를 많이 보는것이 어떻게보면 코드를 잘할 수 있을거라고 생각한다

보지도 않고 창의적으로 생각해서 코드짤수 있다면 얼마나 좋을까

그렇지 못한 필자는 여러가지 쿡북용 책도 많이 보는 편이다

 

 

 

2020/06/02 - [Java/생성자] - Java - 생성자 호출과 선언, 개념

 

Java - 생성자 호출과 선언, 개념

생성자 기본 method 형식에서 클래스 변수로 method를 생성한 선언문이다 객체 생성할 때 매개변수 값을 동시에 선언하는 방식으로 식은 다음과 같다. ( 클래스 변수 식별자변수=new 클래스 변수(매��

tantangerine.tistory.com

 

728x90
반응형
728x90
반응형

파일 설치시 파일구조

dev > db > app > oracle

> eclipse, tomcat, workspace, java

 

 

* 자바설치 (dev 파일안 설치)

1. 자바환경변수 설정 >내컴퓨터 >우클릭 >속성> 고급 시스템 설정 >환경변수>시스템변수 창에 >새로만들기

> 경로는 자바설치된 경로로 설정하기 및 환경변수 이름설정 > path를 편집> 새로만들기

>%환경변수이름%\bin

2. 클래스패스 설정 > 시스템변수창에 > 새로 만들기 > %환경변수이름%\bin

3. 자바확인 cmd창에서 java –version - 끝 -

 

* db 오라클설치 알아서 하기 * 설치시 아뒤 및 비번설정 칸이 나온다

 

 

* 스카마 계정 생성 및 테이블 생성하기

1. sqlplus /nolog -- cmd에서 sqlplus 접속하겠다

2. conn / as sysdba -- 시스템관리자로 접속하겠다

3. create user scott identified by tiger default tablespace system; -- 스키마계정 만들기

   *scott - 아이디 tiger – 비밀번호

4 .grant connect, resource, dba to scott; -- 권한설정

5. conn scott/tiger -- 연결방법

6. alter session set nls_territory='AMERICA'; -- 글자깨짐 방지

7. alter session set nls_language='AMERICAN';

8. @C:\dev\db\app\oracle\scott.sql; -- 스키마 생성방법

9. @C:\dev\db\app\oracle\summit2.sql; -- 기존 sql파일이 있을때만 가능한 방법

- .spl 파일은 스키마계정과 sqlplus 접속이 필요하며, 테이블을 먼저 생성하고 나머지를 insert를 해야한다

- select * from 으로 테이블이 생성되었는지 최종적으로 하자

 

 

* 덤프 파일 테이블 생성하기

- 덤프 파일 익스포트 (현재 어떠한 스키마 계정의 userid정보에 대한 spl정보를 익스포트한다)

C:\) exp userid=아이디/비밀번호 file='C:\파일명.dmp' full=y

 

- 덤프 파일 임포트 (현재 덤프파일의 sql정보를 어떤 스키마 계정의 userid정보로 spl정보를 임포트한다)

1. cmd 에서 sqlplus에서 나온 후, C: 폴더로 이동한 상태에서,

2. imp userid=아이디/비밀번호 file='C:\파일명.dmp' full=y

 

 

* sql developer 설치 및 계정추가하기

계정추가 시 c: > windows > system32 > drivers > etc > hosts

hosts파일을 확인하여 로컬의 ip주소 서버의 ip주소를 확인할 수 있다

 

1. local 경우 - 플러스 버튼 클릭 > 접속이름, 사용자이름 스키마계정 & 비밀번호 설정

> 테스트버튼 클릭하여 상태확인

2. server 경우 – 호스트 이름을 서버 주소 이름으로 변경한다 예:] aws.seoulit.co.kr

 

 

* 이클립스 설치

1. 다운로드 받은 이클립스 파일을 dev 파일에 압출을 풀게되면 설치는 끝

2. workspace 또한 dev에 폴더를 생성하고 거기에 만든다

 

 

* 톰캣 설치 및 설정

1. 코어를 다운받고 톰캣을 실행시켜 설치한다 https://tomcat.apache.org/download-70.cgi

    사용자 비밀번호를 입력하고 java경로는 자동인식함으로 건딜지말고 설치경로만 dev > tomcat 에 설치한다

2. Servers 란에 create a new server를 클릭하고 설정을 진행한다

3. Apache를 선택하고 tomcat을 설치한 버전으로 선택한다

4. dev > tomcat 경로를 지정하여 tomcat을 설정한다 (경로지정 주의)

 

 

* STS(Spring Tool Suit) 플러그인 설치 (스프링 기반의 웹 프로젝트를 생성한다)

Help > Eclipse Marketplace에서 Spring Tool Suite 검색

spring 프로젝트시 sts3 standard

 

 

* 실습 프로젝트 생성 및 설정변경

Spring Legacy Project > Spring MVC Project 로 생성

위의 방법으로 플러그인 STS로 프로젝트를 생성하면

JRE 버전도 맞지 않고 서버 라이브러리도 등록되지 않아 변경해야한다

프로젝트 마우스 우클릭 > Project Facets > java 1.8버전 변경 > 우측창 Runtimes > Apache 체크하여 Apply

pom.xml에서 스프링버전을 최신으로 바꿔준다

 

728x90
반응형

'IT_Web > Project_Setting' 카테고리의 다른 글

SVN 설치 및 사용방법  (0) 2022.09.06
GitHub 사용법  (0) 2020.03.09
GitHub 설치방법  (0) 2020.03.09

+ Recent posts

Powered by Tistory, Designed by wallel