#15

조성현·2023년 3월 20일
0

클래스의 관계

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 클래스에서 객체선언 및 실행
객체 클래스
출력결과

이클립스에서 프로젝트 가져오기

java.lang 패키지

자바 언어에서 사용되는 클래스.(Object가 최상위 클래스이다.)

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();
	}
}

0개의 댓글