본문 바로가기

Web & Mobile/JAVA17

Lecture 28 - Java(9) 로또발생기, StringTokenizer, StringJoiner, Scanner, Arraylist 1. 왜 자바를 써요? - 객체지향성 때문에요 2. 자바프로그램의 분류 - SE(core) / EE(Enterprise) / ME(망함) 3. JDK, JRE(JVM : Java Virtual Machine) - jdk(jdk + jre(jvm)) * jvm이 얼마나 빨라 질 것인가 -> chip ----------------------------------------------------------------------------------------------------------------------- 프로그램 개론(Ch.02~04) 데이터 처리(자료 구조) + 객체 -> 객체 선언 / 사용(Ch.6) -> 객체 지향 프로그램 기법(Ch.7) 은닉(캡슐화 : incapsulation) - 데이터 보.. 2023. 6. 20.
Lecture 27 - Java(8) 추상화, 형변환, 다형성, 예외처리 추상클래스(abstract class) 클래스를 설계도에 비유한다면, 추상클래스는 미완성 설계도에 비유할 수 있다. 미완성 설계도란, 단어의 뜻 그대로 완성되지 못한 채로 남겨진 설계도를 말한다. 클래스가 미완성이라는 것은 멤버의 개수에 관계된 것이 아니라, 단지 미완성 메서드(추상메서드)를 포함하고 있다는 의미이다. 미완성 설계도로 완성된 제품을 만들 수 없듯이 추상클래스로 인스턴스는 생성할 수 없다. 추상클래스는 상속을 통해서 자손클래스에 의해서만 완성될 수 있다. 추상메서드(abstract method) 메서드는 선언부와 구현부(몸통)로 구성되어 있다고 했다. 선언부만 작성하고 구현부는 작성하지 않은 채로 남겨 둔 것이 추상메서드이다. 즉, 설계만 해 놓고 실제 수행될 내용은 작성하지 않았기 때문에.. 2023. 6. 20.
Lecture 26 - Java(7) 주민번호체크, wrapper 클래스, Date, Calendar StringEx02 문자열의 첫문자를 대문자화 // 문자열의 첫문자를 대문자화 // hong gil dong -> "hong gil dong" public class StringEx02 { public static void main(String[] args) { // TODO Auto-generated method stub // 입력값 검사 if(args.length != 1) { System.out.println("1개의 값을 입력하셔야 합니다."); } else { //System.out.println("정상 입력"); String[] names = args[0].split(" "); String result = ""; for(String name : names) { //System.out.print.. 2023. 6. 20.
Lecture 25 - Java(6) 클래스, 접근제어자, 이클립스 환경 구축법 클래스 모듈(X) 패키지(도메인) 클래스 배치 import 패키지명.(.여러개.).클래스 (패키지명) 디렉토리.디렉토리.디렉토리.클래스 has - a : 멤버변수(instance) is - a : 상속 상속 - extends 클래스(한개) : 단일 상속(다중 상속 X) - 생성자와 초기화 블럭은 상속 X - final class - 상속불가 method - 오버라이드 불가 멤버변수/지역변수 - 상수 - 오버라이드(재정의) 조건 : 메서드 이름, 타입, 매개변수가 같아야 한다 - super - super() 접근 제어자(access modifier) 접근 제어자는 멤버 또는 클래스에 사용되어, 해당하는 멤버 또는 클래스를 외부에서 접근하지 못하도록 제한하는 역할을 한다. 접근 제어자가 사용 될 수 있는 곳.. 2023. 6. 20.
Lecture 24 - Java(5) 생성자, 변수의 초기화, 상속, 인스턴스, 패키지, import, 클래스 JVM의 메모리 구조 응용프로그램이 실행되면, JVM은 시스템으로부터 프로그램을 수행하는데 필요한 메모리를 할당받고 JVM은 이 메모리를 용도에 다라 여러 영역으로 나누어 관리한다. 그중 3가지 주요 영역은 아래와 같다. 1. 메서드 영역(Method area) - 프로그램 실행 중 어떤 클래스가 사용되면, JVM은 해당 클래스의 클래스 파일(*. class)을 읽어서 분석하여 클래스에 대한 정보(클래스 데이터)를 이곳에 저장한다. 이때, 그 클래스의 클래스 변수(class variable)도 이 영역에 함께 생성된다. 2. 힙(Heap) - 인스턴스가 생성되는 공간, 프로그램 실행 중 생성되는 인스턴스는 모두 이곳에 생성된다. 즉, 인스턴스 변수(instance variable)들이 생성되는 공간이다... 2019. 4. 19.
Lecture 23 - Java(4) 변수와 메서드, 생성자 자료형 기본 자료형 변수 공간안에 데이터 저장 * 오라클이 제공하는 내용을 사용 Boolean char byte, short, int, long float, double 자바 - 프로그램 기법(객체의 기능정의) - 패턴(교수님들이 제안) 자바 디자인 패턴 = UML(Unified Modeling Language) 모델 생성 - UML 다이어그램 - 아키텍쳐가 짠다 디자인 패턴 => UML 다이어그램(설계도) 참조 자료형 -- OOP(Object Oriented Programming) 변수 공간안에 데이터에 대한 참조(메모리 주소)가 저장 사용자 정의 - 문법 * 사용자가 만들어서 사용하는 복합자료형(여러 자료형의 묶음) 속성 - 멤버변수, 필드 기능 - 메서드(함수) 사물 (객체)변수 사물 -> 공통성 .. 2019. 4. 19.
Lecture 22 - Java(3) 배열 - Array : 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것을 '배열(Array)'이라고 한다. 많은 양의 데이터를 변수로 선언하기 힘들기 때문에 배열을 사용하여 같은 변수로 된 데이터들을 손쉽게 다룰 수 있다. public class ArrayEx01 { public static void main(String[] args) { // 선언 int[] arr1; int arr2[]; // 생성 arr1 = new int[5]; // 초기화 arr1[0] = 10; arr1[1] = 20; arr1[2] = 30; arr1[3] = 40; arr1[4] = 50; System.out.println(arr1[0]); System.out.println(arr1[4]); } } public clas.. 2019. 4. 18.
Lecture 21 - Java(2) PrintEx01 print 하는 법 public class PrintEx01 { public static void main(String[] args) { // println : print + 엔터 System.out.println("print"); System.out.println("print"); System.out.print("print"); System.out.print("print"); System.out.println(""); // 형식화된 출력 System.out.printf("정수는 %d\n", 123); System.out.printf("%s는 %d", "실수", 456); } } println : print + 엔터 print는 한줄로 붙어서 나옴 println은 엔터가 붙어서 나오고 .. 2019. 4. 18.