import org.omg.Messaging.SyncScopeHelper;


public class Main {

// field는 지속적으로 사용해야 될때 쓴다.

int money;


public static void main(String[] args) {

Main m1 = new Main();

Main m2 = new Main(1000);

Main m3 = new Main(2000, 'A');

Main m4 = new Main(3000, 2000);

Main m5 = new Main(4000, "king");


System.out.println(m2.money);

System.out.println(m3.money);

System.out.println(m4.money);

System.out.println(m5.money);


}


// Overroding 예제

// 같은 기능을 하는 것끼리 묶을때

Main() {

System.out.println("빈거");

}


Main(int a) {

money = a;

}


Main(int a, char b) {

money = a;

}


Main(int a, int b) {

money = a;

}


Main(int a, String b) {

money = a;

}


}



블로그 이미지

왕왕왕왕

,

// 프레임 객체 생성

JFrame jframe = new JFrame();

// 프레임 사이즈 width 200 height 200으로 정함 x,y는 입력하나 마나

jframe.setBounds(0, 0, 200, 200);

// 설정한 frame 사이즈 측정

Dimension frameSize = jframe.getSize();

// 자신의 windowscreen 사이즈 측정

Dimension windowSize = Toolkit.getDefaultToolkit().getScreenSize();

// 출력해보면 두 사이즈가 출력되는걸 확인할 수 있다.

System.out.println(frameSize + " " + windowSize);

//설정할 위치에 (윈도우width-프레임width)/2, (윈도우height-프레임height)/2를 입력한다

jframe.setLocation((windowSize.width - frameSize.width) / 2,

(windowSize.height - frameSize.height) / 2);

//프레임창 활성화하면 현재 모니터에 중앙에 프레임이 실행되는걸 볼수 있다.

jframe.setVisible(true);

'JAVA > 자바' 카테고리의 다른 글

자바 상속 Has-a와 Is-a 관계  (0) 2015.06.30
자바 필드,오버라이딩  (0) 2015.06.29
자바 반올림,소수점 버리기  (0) 2015.06.28
자바 NumberFormat클래스 자릿수 끊어주기  (0) 2015.06.28
자바 소수점자르기  (0) 2015.06.28
블로그 이미지

왕왕왕왕

,


상속 목적

1. 상위 클래스가 여러 하위 클래스들의 공통된 데이터를 추출해서 관리하도록 만든다.
2. 상위 클래스 전반적인 자료형을 대표하면서 외부에 공통된 인터페이스를 제공하고, 하위 클래스들은 각기 다른 구현 내용을 가지도록 만들어 준다.


자바에서 final사용이란?


1. class 의 final 사용.
class 가 상속되지 않도록 하기 위하여 선언합니다.

예)
final class SampleClass {
}

2. method 의 final 선언
상속 관계에 있는 상위 class 와 하위 class 에서 상위 class 에 있는 method 가 재정의(overriding) 되지 않도록 하기 위하여 정의 합니다.

예)
calss SampleClass {
    public final sampleMethod() {
    }
}

3. variable(변수) 의 final 선언
초기 값이 변경되면 안되거나 변경할 경우 예외가 발생할수 있는 경우 사용하며, 문서화의 한 형태로 가독성을 높이고 수정이 용이 하다는 이점이 있습니다.

final int sampleVariable = 1;
final String sampleVariable = "aaa";
등등

'취업아카데미-JAVA' 카테고리의 다른 글

15. 클래스상속 오버라이딩  (0) 2015.06.28
14. 클래스상속  (0) 2015.06.28
13. 배열  (0) 2015.06.28
12. 콘솔 입력과 출력  (0) 2015.06.28
11. 메소드 오버로딩과 String 클래스  (0) 2015.06.28
블로그 이미지

왕왕왕왕

,

package king;


public class test {


public static void main(String[] args) {

wang w = new wang();

w.p();

}

}


class king {


public void p() {

super(); 기본으로 명시되어있음

System.out.println("부모클래스!");

}


}


class wang extends king {

@Override

public void p() {

// TODO 자동 생성된 메소드 스텁

System.out.println("자식클래스에서 재정의");

}

}


오버라이딩이란


부모클래스에 있는 메소드를 새로 재정의해서 재사용성을 높이는 것이다.


king클래스에는 부모클래스라는 출력을 한다.


하지만, 상속받은 자식클래스에서 자식클래스에서 재정의라는 문구를 새로 정의해서 


부모클래스출력대신 자식클래스 정의된 내용이 출력된다.




  상속시 부모의 생성자 함수가 먼저 수행되고 자식의 생성자가 수행된다.

  자바는 클래스끼리 절대로 다중상속을 제공하지 않는다.

  오직 클래스는 단일 상속만 가능하다.(명확성을 높이기 위해서)

 

  오버라이딩: 부모의 멤버를 똑같이 재정의

  자식의 멤버의 우선순위가 된다.


수퍼

 

super: 부모의 멤버를 명시적으로 접근하고 싶을때 사용

super(): 부모의 생성자를 호출, 항상 상속시 자식의 생성자의 첫번째 라인에 존재한다. (디폴트)


디스

this : 클래스내에서 내 자신의 객체를 레퍼런스하는 변수

  객체를 구별하는 역할

  명시적으로 선언을 할수 없고 사용만 가능하다.


this() : 자신의 또다른 생성자를 호출할때 사용


 

'취업아카데미-JAVA' 카테고리의 다른 글

16. 클래스의 상속 목적 & final  (0) 2015.06.28
14. 클래스상속  (0) 2015.06.28
13. 배열  (0) 2015.06.28
12. 콘솔 입력과 출력  (0) 2015.06.28
11. 메소드 오버로딩과 String 클래스  (0) 2015.06.28
블로그 이미지

왕왕왕왕

,

package king;


public class test {


public static void main(String[] args) {

wang w = new wang();

w.input(30);

System.out.println(w.integer());

}

}


class king {

int s;


public void input(int a) {

s += a;

}


}


class wang extends king {

public int integer() {

return s;

}


}


간단한 예제이다


king이라는 부모클래스에 input메소드가있다 정수를 받고 s변수에 누적한다.


wang이라는 클래스가 king클래스를 상속받고 integer메소드에서 king클래스에 s변수의 값을 리턴한다.


test클래스에서 자식클래스인 wang만을 선언하고 부모클래스에 모든 메소드를 사용할 수있다.

정수 30을 넣어주고 integer메소드를 실행하면 30이 찍힌다.


이같은 원리로 상속을 이용하면 되겠다. 

'취업아카데미-JAVA' 카테고리의 다른 글

16. 클래스의 상속 목적 & final  (0) 2015.06.28
15. 클래스상속 오버라이딩  (0) 2015.06.28
13. 배열  (0) 2015.06.28
12. 콘솔 입력과 출력  (0) 2015.06.28
11. 메소드 오버로딩과 String 클래스  (0) 2015.06.28
블로그 이미지

왕왕왕왕

,

13. 배열

취업아카데미-JAVA 2015. 6. 28. 16:33

배열이란 자료형의 종류가 아닌 자료형의 집합을 의미한다.


String[] weeks = {"월", "화", "수", "목", "금", "토", "일"};

for (int i=0; i<weeks.length; i++) {

    System.out.println(weeks[i]);

}


배열은 인덱스가 0부터 시작한다.


배열의 이름에 length를 이용하면 해당 배열의 전체 크기를 반환한다.


이방법으로 쉽게 입력하고 출력이 가능하다.


역시 더 필요하다면 자바 카테고리이용하겠다.



블로그 이미지

왕왕왕왕

,

콘솔입력은 스캐너클래스로 쉽게 구현가능


import java.util.Scanner;


public class Test {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        System.out.println(sc.next());

    }

}


콘솔출력은 system.out으로 구현가능


System.out.println("hello world");


io에 관련된 자세한 내용은 자바카테고리에서 다룰것이다. 여기는 개념정도만

블로그 이미지

왕왕왕왕

,

오버로딩


오버로딩(Overloading)은 메소드 오버로딩과 생성자 오버로딩이 있다. 하지만 둘다 같은 개념이다.


같은 이름의 함수를 여러 개 정의하고, 매개변수의 유형과 개수를 다르게 하여 다양한 유형의 호출에 응답하게 한다.


public class Main { // Overroding 예제 // 같은 기능을 하는 것끼리 묶을때 public static void main(String[] args) { // TODO Auto-generated method stub Main m = new Main(); Main m1 = new Main(1); Main m2 = new Main('A'); Main m3 = new Main(1, 2); Main m4 = new Main("king"); } Main() { System.out.println("빈거"); } Main(int a) { System.out.println(a); } Main(char a) { System.out.println(a); } Main(int a, int b) { System.out.println(a + "" + b); } Main(String a) { System.out.println(a); } }



오버라이딩


상위 클래스가 가지고 있는 멤버변수가 하위 클래스로 상속되는 것처럼 상위 클래스가 가지고 있는 메소드도 하위 클래스로 상속되어 하위 클래스에서 사용할 수 있다. 하지만, 하위 클래스에서 메소드를 재정의해서 사용할 수 있다.


상속 관계에 있는 클래스 간에 같은 이름의 메소드를 정의하는 기술을 오버라이딩(Overriding) 이라고 한다.


public class test {


public static void main(String[] args) {

wang w = new wang();

king k = new king();

//부모클래스 출력

k.p();

//자식클래스에서 재정의 출력

w.p();

}

}


class king {


protected void p() {

System.out.println("부모클래스!");

}


}


class wang extends king {

@Override

public void p() {

// TODO 자동 생성된 메소드 스텁

System.out.println("자식클래스에서 재정의");

}

}



String 클래스


1. substring

한 문자열에서 내용의 일부를 추출하는 메서드

주어진 시작위치(begin)부터 끝 위치(end) 범위에 포함된 문자열을 얻는다.

 

String s = "java.lang.Object";

String c = s.substring(10);          c = "Object"

String p = s.substring(5,9);         p = "lang"



2.split

문자열을 지정된 분리자(regex)로 나누어 문자열 배열에 담아 반환 한다.


String animals = "dog, cat, bear";

String[] arr = animals.split(",")


결과

arr[0] = "dog"

arr[1] = "cat"

arr[2] = "bear"

 


3. contains

지정된 문자열(s)이 포함되었는지 검사 한다.


String s = "abcedfg";

boolean b = s.contains("bc");


결과

b = true

 


4. endsWith

지정된 문자열(suffix)로 끝나는지 검사 한다.


String file = "Hello.txt";

boolean b = file.endsWith("txt");


결과

b = true  



5. equals

매개변수로 받은 문자열(obj)과 String인스턴스의 문자열을 비교한다. obj가 String이 아니거나 문자열이 다르면 false를 반환한다. String 클래스는 equals 메소드를 오버라이드 해서 사용한다.


String s = "Hello";

boolean b = s.equals("Hello");

boolean b2 = s.equals("hello");


결과

b = true

b2 = false

  


6.replace

문자열 중의 문자열(old)을 새로운 문자열(nw)로 모두 바꾼 문자열을 반환 한다.


String s = "Hellollo";

String sl = s.replace("ll","LL"));


결과

sl = "HeLLoLLo"



7.toString

String toString()

String 인스턴스에 저장되어 있는 문자열을 반환 한다.


String s = "Hello";

String sl = s.toString();


결과

sl = "Hello"



8. toLowerCase

String 인스턴스에 저장되어있는 모든 문자열을 소문자로 변환하여 반환 한다.


String s = "Hello";

String sl = s.toLowerCase();


결과

sl = "Hello"



9. toUpperCase

String 인스턴스에 저장되어있는 모든 문자열을 대문자로 변환하여 반환 한다. 


String s = "Hello";

String sl = s.toUpperCase(); 


결과

sl = "HELLO"



10. trim

문자열의 왼쪽 끝과 오른쪽 끝에 있는 공백을 없앤 결과를 반환한다. 이 때 문자열 중간에 있는 공백은 제거되지 않는다.


String s = "     Hello World   ";

String sl = s.trim();


결과

sl = "Hello World"



11. valueOf

지정된 값을 문자열로 변환하여 반환 한다.

참조변수의 경우, toString()을 호출한 결과를 반환 한다.


String b = String.valueOf(true);

String c = String.valueOf('a'); 

String i = String.valueOf(100); 

String l = String.valueOf(100L); 

String f = String.valueOf(10f); 

String d = String.valueOf(10.0);

java.util.Date dd = new java.util.Date();

String date = String.valueOf(dd);


결과

b = "true"

c = "a"

i = "100"

l = "100"

f = "10.0"

d = "10.0"

date = "Sub Jan 27:21:26:29 KST 2008"

  

블로그 이미지

왕왕왕왕

,