본문 바로가기

프로그래밍 언어/Java 프로그래밍17

Java Day9 - 객체지향 프로그래밍(다형성, 추상클래스) 다형성(Polymotphism) 객체의 다형성 하나의 객체가 여러 개의 타입을 가질 수 있는 것을 다형성이라 함 다형성을 나타내는 예제 package Standard_Java; class Tv{ boolean power; int channel; // True or False void power(){ power = !power; } void channelUp(){ channel++; } void channelDown() { channel--; } } // 자바는 다중 상속을 지원하지 않음 (여러 개의 클래스를 상속받을 수 없음) class CaptionTv extends Tv{ // 자식 클래스에서 새로 추가된 속성 String text; void caption(){ } } class Other{ } //.. 2021. 11. 11.
Java Day8 - 클래스, 상속, 배열 실습 ClassArray 실습 package Basic_Java; // 학생 학번과 성적 // 학번 배열 // 성적 배열 // 배열 인덱스 이용해서 학번과 성적 연결 import java.util.Arrays; import java.util.Random; class Student{ // 속성 int hakbun; int score; } public class ClassArray { public static void main(String[] args) { Random rand = new Random(); // 객체 배열(기본형 타입만 배열이 될 수 있는 것은 아님) // 학생 객체 5개를 담을 수 있는 배열 Student [] studentArray = new Student[5]; // 배열에 객체는 들어있지 .. 2021. 11. 10.
Java Day7 - 객체지향 프로그래밍(클래스, 객체, ...) 객체지향 프로그래밍 Object Oriented Programming 객체지향 프로그래밍이 왜 나왔을까? 커지는 소스코드의 양을 감당할 수 X 하드웨어의 발전 -> 처리량 증가 -> 프로그램이 복잡해짐 대규모 소프트웨어 개발의 어려움 해소하기 위해 등장한 개념 소프트웨어를 관리하고 개발하는 전체적인 방법론에 대해 얘기 기획 -> 요구사항 분석 -> 설계 -> 구현(개발) -> 테스트 -> 유지보수 소프트웨어 공학 클래스와 객체는 자바에서만 사용할 수 있는 고유 기능이 아님 객체지향 방법론을 이루고 잇는 하나의 개념(기술. 정의)이고, 그런 개념을 사용할 수 있는 수단을 제공하는 것 자바의 변수 종류 지역변수 메서드 내에서 정의된 변수(매개변수 포함) 객체변수(인스턴스 변수) 메서드 외부, 클래스 내부에서.. 2021. 11. 9.
Java Day6 - 메서드 메서드 함수 Vs. 메서드 큰 차이는 없음 객체지향 언어에서 클래스 내에서 선언되는 함수를 메서드라고 따로 구분하여 표현 자바를 제외한 언어들은 클래스를 반드시 사용하지 않아도 되는 언어 존재(Python, C++ 등등) 자바는 반드시 클래스 필요 >> 모두 메서드라고 표현 알고있는 함수와 동일 엄밀한 수학적 정의 함수를 그대로 따르지는 X 수학적 정의의 개념을 그대로 차용해서 사용(함수) 수학에서의 함수는 집합 x와 y에 대한 관계 f(x) = y (입력 x에 대한 출력 y) 프로그래밍 언어에서는 프로그램을 이루는 기본 단위 명령어들의 집합 코드의 재사용성 자바에서 메서드의 기본 형태 [반환 타입] [메서드 이름] (타입 변수명, 타입 변수명, ...){ // 메서드 블록 } 자바에서 main 메서드는.. 2021. 11. 8.
Java Day4 - 반복문 반복문 for for(초기값; 조건식; 증분값){ // 실행 문장 } 초기값, 조건식, 증분값으로 이루어져 있으며 하나라도 빠질 경우 식이 성립되지 X 증감식이 참이면 -> 실행문장 증감식이 거짓이면 -> for문을 빠져나옴 for(int i = 0; i < 5; i++){ System.out.println("Hello"); } 확장된 형태 -1 중첩 for문 - 구구단 구구단 예제를 통해 중첩 for문에 대해 이해할 수 있다. 밑의 식의 경우에서는 1~9단까지의 구구단을 출력하게 된다. for(int i=1; i 2021. 11. 4.
Java Day3 - 연산자, 배열, 조건문 연산자 lvalue = rvalue (int a = 10;) lvalue: 메모리 rvalue: 메모리가 올 수 없음 산술연산자 사칙연산(+, -, *, /, %) 부호연산: 단항연산 증감연산(++, --) 전위 연산: 연산을 먼저 하고, 값을 출력 후위 연산: 값을 출력한 후 연산 연산자들의 우선순위 존재는 하지만, 우선순위 다 외워서 사용하지 X ( )을 이용하여ㅏ 정확히 우선순위를 표현해주는 것이 가장 좋음 ( ) >> 증감, 부정 >> 곱셈, 나눗셈, 나머지 >> 덧셈, 뺄셈 >> 할당(Assignment) &#39; = &#39;(Assignment) 연산자는 모든 연ㅅ나에서 가장 순위가 낮음 정수(4) + 정수(4) = 정수(4) 정수(4) * 정수(4) = 정수(8) 정수(4) / 정수(4).. 2021. 11. 3.
Java Day2 - 문자, 타입 변환, 표준 입/출력, 파일 입/출력 문자(문자열) 문자(' '), 문자열(" ") 여러 개의 단일 문자의 집합(문자열) 눈에 보이는 것이 전부는 아님 특히 문자열 뒤에 엔터가 붙는 경우 있음 표준 입력, 파일 입/출력 "Hello" VS. "HelloCRLF" "내가 모르는 어떤 문자가 섞여 있을 수 있음을 인지하는 것이 중요 미리 기억해둘 것 Enter(CR(0x0d) LF(0x0a)) LF(0x0a) 하나로만 표현하는 경우도 있음 공백(0x20), 탭(0x09) 공백도 문자 빈 문자와 공백 문자는 염격히 구분 Java에서의 자료형 표현 // 양수 표현 int basic = 235487; System.out.println(basic); // 음수 표현 int minus = -235487; System.out.println(minus); .. 2021. 11. 2.
Java 프로그래밍 1일차 - 환경설정, 변수 실습환경 windows 10 java sdk: java SE 11 IDE: Eclipse SDK(JDK) Development Kit JAVA sun micro systems 제임스 고슬링에 의해서 만들어짐 개발에 필요한 도구 JDK Text Editor 워드나 한글 프로그램은 개발에 사용 불가 메모장 같은 프로그램 필요 Compile(번역) *.java(소스파일)-> *.class(자바 바이트 코드 )-> 기계어(0,1/binary) 컴파일 하는 방법 cmd창(명령 프롬프트) window key + r -> cmd CLI(Command Line Interface) GUI(Graphic User Interface) IDE(Intergrated Dvelopment Environment) 통합개발환경 개발에.. 2021. 11. 1.