클래스의 관계
is ~ a 상속
class A {
B b = new B;
}
has ~ a 부속(객체 변수)
class A extends {
B b = new B;
}
객체지향(중심:OOP)프로그램에 대한 특성
캡슐화 - data은닉
접근제어자
초기화
setter/getter
constructor overioading
this/this()
상속
extends
method override
super/super()
final
객체형변환
다형성
추상화
기본 프로그램에 대한 문법
자료
제어
정리하기
이클립스
압축해제 = 설치
작업순서
1. workspace(작업공간) + 이클립스 설정
2. 프로젝트
3. 패키지
명시적
묵시적(default)
4. 클래스
main 클래스에서 객체선언 및 실행
객체 클래스
출력결과
이클립스에서 프로젝트 가져오기
자바 언어에서 사용되는 클래스.(Object가 최상위 클래스이다.)
예시)
Object o = new Object();
toString
객체 변수를 출력한다.(.toString()과 같음)
보통 override를해서 사용한다.
getClass()
해당 클래스 정보를 얻는다.
클래스 정보를 얻고(getClass) 클래스 이름을 출력(getName)
System.out.println(o.getClass().getName());
hashcode
객체의 해시코드를 출력
equals()
String
문자열 클래스
자바스크립트와 거의 동일하다.
public class StringEx01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 문자열 저장 클래스
// String(*)
// StringBuffer / StringBuilder(o)
// 선언
String str1 = "Hello String";
String str2 = new String("Hello String");
char[] charArray = {'H', 'e', 'l', 'l', 'o'};
String str3 = new String(charArray);
// toString()
// .equals() - 내용값 비교
System.out.println(str1.length());
System.out.println("Hello".length());
// 문자열 -> 문자추출
System.out.println(str1.charAt(0));
// 마지막 문자출력
System.out.println(str1.charAt(str1.length() -1));
// 문자열 -> 부분 문자열추출(*)
System.out.println(str1.substring(2));
System.out.println(str1.substring(2,4)); // 2부터 4
// 문자위치
System.out.println(str1.indexOf('H'));
System.out.println(str1.lastIndexOf("p"));
// 문자열 존재여부(contains, endsWith)
System.out.println(str1.startsWith("He"));
// 문자열 치환
System.out.println(str1.replaceAll("Hello", "Goodbye"));
// 문자열 결합 : +
System.out.println(str1.concat(" 안녕"));
// 대소문자
System.out.println("hello".toUpperCase());
System.out.println("HELLO".toLowerCase());
// 공백제거
String str11 = " Hello String ";
System.out.println(str11.length());
String str12 = str11.trim(); // 중간공백은 데이터이기때문에 사라지지않음
System.out.println(str12);
// 구분자 단위 분리
String str21 = "apple,banana,cherry,kiwi";
String[] strArr = str21.split(",");
for(String str : strArr) {
System.out.println(str);
}
// 구분자 단위 결합
String str22 = String.join(",", strArr);
System.out.println(str22);
// 형식이 있는 문자열 = printf
String str31 = String.format("%s-%s-%s", "aaa", "bbb", "ccc");
System.out.println(str31);
}
}
StringBuilder/StringBuffer
String과 상속관계가 없다.
내부공간을 통해 저장 / 수정 / 삭제 / 추가 작업을 한다.
capacity(기본 공간)은 16
Math
Wrapper
기본자료형을 객체화해주는 역할
클래스에서 최대 최소값을 확인가능
형변환을 가능하게 해준다
Integer.parseInt
Float.parseFloat
주민번호 유효성검사 http://bennyziiolab.tistory.com/36
public class JuminCheckEx01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
if(args.length != 1) {
System.out.println("java 클래스명 'xxxxxx-xxxxxxx' 형식으로 입력하세요");
} else {
/*
String strJumin = args[0].replaceAll("-", "");
System.out.println(strJumin);
// 문자열을 정수 = Integer.parseInt()
int[] bits = {2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5};
int sum = 0;
for(int i = 0; i<bits.length; i++) {
sum += Integer.parseInt(strJumin.substring(i, i+1)) * bits[i];
}
int last = Integer.parseInt(strJumin.substring(12, 13));
int result = (11-(sum % 11)) % 10;
*/
UtilEx utilEx = new UtilEx();
//utilEx.setName(args[0]);
utilEx.setJumin(args[0]);
if(utilEx.checkJumin()) {
System.out.println("맞음");
} else {
System.out.println("틀림");
}
}
}
}
public class UtilEx {
private String name;
private String jumin;
public UtilEx() {
}
public void setName(String name) {
this.name = name;
}
public void setJumin(String jumin) {
this.jumin = jumin;
}
public boolean checkJumin() {
String strJumin = this.jumin.replaceAll("-", "");
System.out.println(strJumin);
// 문자열을 정수 = Integer.parseInt()
int[] bits = {2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5};
int sum = 0;
for(int i = 0; i<bits.length; i++) {
sum += Integer.parseInt(strJumin.substring(i, i+1)) * bits[i];
}
int last = Integer.parseInt(strJumin.substring(12, 13));
int result = (11-(sum % 11)) % 10;
if(last == result) {
return true;
} else {
return false;
}
}
public String capitalizeName() {
String[] names = this.name.split(" ");
String result = "";
for(String name : names) {
//System.out.println(name);
result += name.substring(0, 1).toUpperCase()
+ name.substring(1) + " ";
}
return result.trim();
}
}