/* * 예제17) 문자열(String) 처리 종합 예제 */ public class JavaEx17 { public static void main(String[] args) { String str1 = "건양대학교 자바 "; // 마지막에 공백문자 있음에 주의할 것! String str2 = "시스템 개발자"; // String str2 = new String("시스템 개발자"); 와 동일한 구문 String str3; /* 문자열 비교(1) * 주의사항) 영문일 경우는 대소문자 구분함 * equals */ System.out.println("문자열 비교(1) : " + str1.equals(str2)); System.out.println("문자열 비교(1) : " + "Hello".equals("he..
추상클래스 : 선언(o), 구현(x) OOP = 사회구조 사장(CEO) : 지시(order) 부장(manager) : order + behavior(activity) 과장(team manager) : orders + behaviors(activities) 사원(clerk) : behaviors(activities) 메소드명 : 지시(order) -> just, only! -> 추상메소드 : PL, PM -> extends(상속:추상클래스) -> implements(구현:인터페이스) ==> 구현(코딩) : 비즈니스 프로세스에서 지시와 업무 실행이 확실히 구분됨. 인터페이스의 다중상속 : 여러 부서장으로 부터 지시(추상메소드)를 다중으로 받을 수 있다. 아래의 경우는 가능 ex) class Abc exten..
메소드 명명 일반적 사례 1. 기본적으로 메소드의 구조는 동사 + 목적어(명사구) 구조로 되어 있다. 1) executeQuery() : "쿼리를 실행하다" 라는 SQL 구문 처리 메소드 2. 그러나 AWT/swing 등의 이벤트 처리자(핸들러:handler)의 경우는 명사구 + 동사(현재분사/과거분사) 형으로 오는 경우가 많다. 1) windowClosing() 2) windowClosed() 3. 리턴값이 boolean인 경우 1) isEmpty(), hasMoreTokens() 처럼 is, has로 시작한다. 4. Getter(획득)/Setter(설정) 메소드 1) get으로 시작하는 메소드는 정보를 얻어서(get) 반환하는 메소드이다. 2) set으로 시작하는 메소드는 얻은 정보를 설정(set)하..
Class : 형식적 객체(붕어빵틀) object(instance) : 실질적인(활성화) 객체(붕어빵) 클래스의 멤버(Member) : 변수, 메소드 구조체(C, Pascal) : 다양한 자료형 -> 인사관리 : 인사관리정보 -> 함수의 부재(한계성) -> 클래스(멤버 : 필드(변수, 상수) + 메소드(다형성:전문성, 상속성)) Java Beans : POJO(Plain Old Java Object), DTO(Data Transfer Object) : DB Table에 대응됨 멤버변수(필드) = DB table field ex) Java String = Oracle varchar2 private : 상속 방지(은닉성:캡슐화) ; DB 중요성 getter(데이터를 얻어옴) / setter(데이터를 설정) ..
문제4) 프로그램 외부인자로 부터 3과목의 점수를 입력받아 총점(tot, sum), 평균(avr)을 내고 아래와 같이 출력하는 프로그램을 작성하십시오. 단, 변수명은 변수 명명 원칙에 맞게 임의로 작성해도 좋습니다. 3과목 : 국어(kor), 영어(eng), 수학(mat) 출력 예시) 총점 : OOO 점 평균 : OOO 점 class JavaExam_1 { public static void main(String[] args) { int kor ,eng, mat, sum, aver = 0; kor = new Integer(args[0]); eng = new Integer(args[1]); mat =new Integer(args[2]); sum = kor + eng + mat; aver = sum/3; Sy..
// 배열의 예제 public class JavaEx17 { public static void main(String[] args) { int arrPriInt[] = { 1, 2, 3, 4, 5 }; // 1차원(Dimension) 배열을 선언과 동시에 할당(대입) // int arrPriInt[] = new int[5]; // 1차원(Dimension) 배열을 선언과 동시에 할당(대입) // 배열의 크기(length) System.out.println("배열 arrPriInt의 크기 : " + arrPriInt.length); // 구성요소(element) 갯수, 배열의 크기 ; // ex) for문의 한계치 for (int i=0; i Object 배열(자동적으로 형변환 : casting) Syste..
JVM은 기본적으로 Stack에서 모든 연산이 이루어질 수 있도록 설계되었음. 바이트 코드는 명령들의 집합으로써 각 명령들은 1 byte의 opcode와 n 개 이상의 연산자(operand)로 구성된다. opcode에는 JVM에서 실행할 명령 코드가 들어 있다. 1) 스택(Runtime Stack) 바이트 코드(컴파일된 목적 코드)를 불러들여서(load) 지역 변수(local variable)을 할당. 블록 영역을 벗어나면 소멸. 반드시 초기화 작업 선행되어야 함. 자동으로 초기화 되지 않음. 2) 힙(Heap : The garbage-collected Heap) 배열이나 클래스 객체(인스턴스)가 할당됨. GC(Garbage Collector)가 관리함. 이 영역은 특별한 초기화 없이도 사용가능하다. 참..
치환(Replace)방법 : Ctrl + F (공통분모를 찾아라!) 공통분모 -> Ctrl + F -> Replace with 선정 -> 영역지정(scope selection) -> scope(selected lines) -> Replace All 치환하고 싶은 곳을 드래그 하여 컨트롤 + F 변화할 라인을 드래그 한 후 selected lines 체크 한다. 그 후에 빨간 줄로 쳐진 Replace All 을 체크하면 find 에 써 있는 글자가 replace with 에 써있는 글자로 변환되는 것을 확인할 수 있다.