# 다형성 다형성이란 같은 자료형에 여러 가지 객체를 대입하여 다양한 결과를 얻어내는 성질을 의미합니다. 하나의 타입으로 다양한 실행 결과를 얻을 수 있으며 객체를 부품화하여 유지 보수를 용이하게 합니다. 상속관계 참조 형식이다. 1. 부모의 메소드와 필드만 사용가능하다. 2. 자식에게 추가된 기능은 사용xx 단, 오버라이드를 하게 되면 자식 메서드를 호출하여 사용할 수 있다. 3. 다형성 예시(1) ● Monitor 자식 클래스 pro_mo1 부모 클래스 모든 기능을 가지고 태어난 객체 / 자식 객체에 있는 내용은 사용하지 못한다 ● 부모 안에서 자식이 만들어지기 때문에 반대로는 표현할 수 없다. # instanceOf 연산자 ● 특징 * 객체 비교할 때 많이 쓰인다. * 참조 변수가 참조하고 있는 인..
#패키지(package) 1. 패키지란 , 클래스 파일들을 체계적으로 관리하도록 사용합니다. -> 디렉터리(폴더) 2. 사용하는 이유 ● 동일한 클래스명을 사용할 수 있도록 하기 위해 ● 클래스를 비슷한 기능으로 묶어서 편하게 관리하기 위해 3. 예시(1) ● import를 통해 Class 1의 경로를 알려준다. #접근제어자 1. 의미 접근 제어자는 외부에서 클래스에 대한 값(클래스, 메서드, 필드)을 공개하는 수준을 의미합니다. Java에서는 public, protected, default, private을 접근 제어자로 사용하고 있습니다. 2. 종류 * public : 모든 외부에서 직접 접근하거나 호출할 수 있습니다. * protected : 현재 클래스와 동일 패키지이거나 다른 패키지이더라도 상속..
#객체지향 개발을 위한 방법론 # 상속 상속이란, 특정 클래스를 구성할 때 기존 클래스의 데이터와 메소드를 부모 클래스에서 그대로 물려받아 중복적인 코드를 줄이는 것과, 하나의 변수 타입으로 여러 종류의 객체를 의미하는 추상화된 방식의 프로그램이 가능하게 하는 객체지향 기법입니다. 클래스 자체는 기능을 만든다라는 뜻 하나의 설계도와 같다 특정값을 가지게 하는 필드 행동을 하게 하는 메소드 보안상 또는 실수로 인하여 은닉화 하라 객체가 애초에 만들어지면서 생성자를 만들어 값을 생성해 놓는다. 1. 사용방법 extends 부모클래스 { // 추가하고 싶은 내용 // 덮어쓰기 } 예시 1) ● 생성자 : 매개변수가 있는 생성자를 생성하면 빈 생성자는 호출되지 않습니다. ▼상속 ★상속을 해줄 클래스는 기본 생성..
● 절차 지향 프로그래밍 물이 위에서 아래로 흐르는 것처럼 순차적인 처리가 중요시되며 프로그램 전체가 유기적으로 연결되도록 만드는 프로그램 기법입니다. 대표적인 절차 지향 언어에는 C언어가 있습니다. #객체 지향 프로그래밍(Object Oriented Programming) 실제 세계를 모델링하여 소프트웨어를 개발하는 방법입니다. 데이터와 절차를 하나의 덩어리로 묶어서 생각합니다. 여러 개의 객체 단위로 나누어 프로그래밍하는 방식을 말합니다. 간단히 말해, 단어를 말할 때 떠올릴 수 있으면 object이다. [출처] 객체 모델링(Object Modeling)과 객체, 클래스(Class) 그리고 인스턴스(Instance)의 관계|작성자 예비 개발자 # class (클래스) 변수, 메소드의 집합입니다. 동일..
#main 메서드 자바 어플리케이션이 실행될 때 가장 먼저 실행되며 프로그램이 구동되는 메소드입니다. 이 때 String[] args는 파라미터로 이동됩니다. 2. Main 예시(1) 3. Main 예시(2) * 인텔리제이 기준 ( main 메서드에 추가할 데이터가 있을 경우 ) run - > edit configurations -> 현재 클래스를 선택 -> program arguments -> string 배열을 띄어쓰기로 추가 #String 클래스 1. 특징 (java.lang.String) 위치해있다. 문자열 char형을 배열로 표현하는 자바의 문자열 클래스입니다. 자바의 대표적인 불변 객체입니다. 2. 사용 방법 String 변수명 = "값"; String 변수명 = new String("값");..
#함수 1. 함수란 , 첫 번째 집합의 임의의 한 원소가 두 번째 집합의 오직 한 원소에만 대응하는 관계를 의미합니다. 어떠한 특정 가격을 넣어주게 되면 원하는 값을 나오게 한다. 예를 들어) 밀가루 --> 빵 만드는 기계 --> 빵이 된다. #메소드 1. 메소드란 , 어떠한 특정 작업을 수행하기 위한 명령문의 집합을 의미합니다. 프로그램 짜는 방법 중 절차 지향 기법은 물 흐르듯 위에서 아래로 짜는 것 다만, 자바는 객체 지향 기법을 사용한다. 프로그래밍 방법 중 하나이다. 반드시 지키지 않아도 되지만 그러한 형식으로 만들어졌다. 객체 지향 프로그램에서는 함수를 메소드라고 한다. 완벽하게 똑같진 않지만 사용방법은 비슷하기 때문에 같은의미를 지닌다. *사용방법 : 접근제한자 [static] 반환형(데이터..
#배열(Array) 같은 타입의 여러개의 변수를 하나의 묶음으로 만든 것을 배열이라고 합니다. 같은 타입의 데이터를 연속된 공간에 나열시키고 각 데이터에 인덱스를 부여해 놓은 것입니다. 전체 배열에 단일 이름이 주어진다. 각 값에는 숫자 인덱스가 부여된다. 자바는 배열을 기능으로 보고 있어 heep 메모리에 올리고 사용해야된다. 기능들의 집합이다 같은 타입들이 저장되어야 한다. 메모리에 연속된 데이터를 저장한다. 번호를 입력해준다.(0번부터시작) 여러개의 데이터를 쉽게 관리하게 만들어졌다. 단점, 크기변경이 불가능하다. #1차원배열 1. 배열 사용(선언) 방법 데이터 타입[] 배열이름; // 배열 선언1 (참조 변수) 배열이름은 stack에 저장 ( [] : 묶음 ) or 데이터 타입 배열이름[]; //..
시작하기 전에 클래스 Random에 대해서 이해한 후 게임을 만들어보자! # Random 클래스 Random 클래스 -> Math.random(); 난수를 뽑아주는 메소드 범위 : 0 ~ 0.9999999999999999 public static void main(String[] args) { double r = Math.random(); System.out.println("발생한 난수 : " + r); int num = (int)(r*10); System.out.println("발생한 정수(int) : " + num); num = ((int)(r*45))+1; System.out.println("로또번호 : " + num); } ● Math의 경우 static 영역이므로 new로 새로이 객체를 쓰지 않..
프로그램 흐름을 제어할 수 있는 제어문 종류는 두 가지(조건문/반복문) 이 있다. #반복문 (프로그램의 꽃) 특정 문장을 반복해서 실행해주는 것 사용자가 원하는 패턴 or 어떤 변화에 따라서 반복을 하면서 값이 바뀌는 형태 또는 어떤 프로그램을 반복해서 실행해주고 싶을 때 (예를 들면 게임처럼) ● while문 1. while 사용 방법 while(조건식) { 조건식이 true인 경우 반복할 문장; } * 조건식이 true인 경우, 중괄호 내용을 반복한다. == 조건식이 true인 동안 반복해라; 라는 뜻이다. 예시 1) public static void main(String[] args) { int cnt = 1; while(cnt
프로그램 흐름을 제어할 수 있는 제어문 종류는 두가지(조건문/반복문) 이 있다. #조건문 조건을 제시하고 그 조건이 맞냐 틀리냐 선택하거나 조건 중에서 하나를 선택 하는 것 ● if문 1. 조건문의 정의 조건문이란, 조건을 판단하여 조건에 맞게 상황을 수행하는데 쓰이는 문장이다. 조건식은 true 아니면 false 문장의 결과만 나온다.(boolean형) 2. if문 사용방법 if(조건식) { 조건식이 true인 경우 실행할 문장; } 3. if 문 특징 ★ if 문에서 중괄호 ({})는 반드시 사용해야 하는 것은 아니다!!! if 중괄호의 경우 두 문장을 묶어주는 역할이다. 한줄만 사용할 경우 사용하지 않아도 되므로 필수적인 부분은 아니다. 조건식이 만족하든 만족하지 않든 다음문장에 ;(세미콜론) 을 ..