╱╱╭╮╱╱╱╱╱╱╭━━━╮╱╱╱╭╮╱╭╮╱╱╱╱╱╱ ╱╱┃┃╱╱╱╱╱╱┃╭━╮┃╱╱╱┃┃╱┃┃╱╱╱╱╱╱ ╱╱┃┣━━┳━━╮┃┃╱┃┣━╮╱┃╰━╯┣━━┳━╮╱ ╭╮┃┃╭╮┃┃━┫┃╰━╯┃╭╮╮┃╭━╮┃╭╮┃╭╮╮ ┃╰╯┃╭╮┃┃━┫┃╭━╮┃┃┃┃┃┃╱┃┃╭╮┃┃┃┃ ╰━━┻╯╰┻━━╯╰╯╱╰┻╯╰╯╰╯╱╰┻╯╰┻╯╰╯

Java 31

[Java] 객체지향 언어 특징(다향성 Polymorphism)

클래스를 이해하는데 있어서 알아야하는 중요한 개념이 있다. 객체지향 언어의 특징이다. 객체지향 언어의 특징은 아래와 같다. 추상화 상속성 다형성 캡슐화 이번에 알아볼 다형성은 상속성과 연관이 있다. 상속성이 클래스간의 부모자식 관계를 만든다면 다형성은 부모자식 클래스간의 필드와 메소드의 다형성을 뜻한다. 다향성(Polymorphism) 우선 자바에서 다형성(Polymorphism)이란 하나의 객체가 다양한 형태(타입)를 가질 수 있음을 뜻한다. 예를들면 int num=1; num은 int형이지만 float, char와 같은 여러가지 형태를 가질 수 도 있다. (형변환) 이로인해 클래스의 형변환도 생각할 수 있다. 그런데 클래스의 형변환은 제약이 많다. 클래스 형변환은 부모자식 관계의 클래스끼리만 가능하다..

Java/Java 기초 2022.04.15

[Java] 객체지향 언어 특징(상속성 Inheritance)

클래스를 이해하는데 있어서 알아야하는 중요한 개념이 있다. 객체지향 언어의 특징이다. 객체지향 언어의 특징은 아래와 같다. 추상화 상속성 다형성 캡슐화 위의 모든 개념들은 클래스와 접목시킬 수 있다. 상속성(Inheritance) 상속성이란 하나의 클래스가 가지고 있는 데이터(값,기능)을 다른 클래스가 그대로 물려받는 것을 뜻한다. 클래스간의 단일 방향의 데이터 전달을 부모자식의 상속 관계에 빗대어 설명한 것이다. 이때 데이터를 넘겨주는 클래스는 부모클래스, 물려받는 클래스는 자식클래스이다. 그리고 데이터의 전달은 부모 -> 자식 (상위 -> 하위)의 단일 방향으로만 진행된다. 클래스간의 상속 관계를 맺을때 주의해야하는 점이 있다. 부모 자식 클래스의 부모 자식 여부가 논리적으로도 맞아야 한다는 것이다...

Java/Java 기초 2022.04.14

[Java] 객체지향 언어 특징 (추상화 Abstraction)

클래스를 이해하는데 있어서 알아야하는 중요한 개념이 있다. 객체지향 언어의 특징이다. 객체지향 언어의 특징은 아래와 같다. 추상화 상속성 다형성 캡슐화 위의 모든 개념들은 클래스와 접목시킬 수 있다. 추상화(Abstraction) 위의 특징들중 우선 추상화(Abstraction)를 먼저 알아보겠다. 추상화는 여러가지 데이터중 공통된 속성이나 특징만 남기고 차이점을 버리는것을 뜻한다. 본질적인 목적은 데이터의 핵심적인 개념 또는 기능을 간추려내기 위함이다. 그런데 클래스에서 쉽게 말하자면 여러가지 데이터 모두에 속하는 교집합을 찾는 것이다. 추상화를 하는 목적, 교집합을 만드는 목적는 결국 코드의 재활용에 있다. 왜냐하면 공통된 속성과 특징은 결국 반복되니까. 아래의 예제를 통해 설명하겠다. 표현하고 싶은..

Java/Java 기초 2022.04.13

[Java] 클래스 (Class)

클래스를 알아보기 전에 우선 객체에 대해 설명 하고 시작하겠다. 자바의 대표적인 객체 예제는 변수, 함수이다. 선언 또는 정의된 모든 변수와 함수는 객체이다. 어떠한 크기더라도 메모리 공간에 저장되어 자리를 차지하고 있으면 (주소가 있으면) 객체라고 생각해도 좋다. 클래스를 공부하기전 객체지향 언어의 특징을 알고 시작하면 좋으나 이는 다음에 설명하겠다. 클래스는 어떠한 객체를 만드는 설계도라고 생각하면 된다. 설계도를 통해 여러가지 데이터를 가지고 있는 어떠한 객체를 계속해서 만들 수 있는 것이다. 여러가지 데이터들을 묶어 놓기위한 객체를 만들기 위한 설계도이다. 이렇게 클래스로 인해 만들어진 객체는 인스턴스(instance)라고 한다. 그럼 이제 클래스에 대해 알아보겠다. 클래스 구현 클래스 사용 클래..

Java/Java 기초 2022.04.07

[Java] 메소드 (Method)

메소드를 한 단어로 표현하자면 흔히 말하는 함수이다. 원하는 행동을 프로세스로 세분화해 저장하는 점과 사용에 선언과 호출의 동작이 필요하고 코드 간략화, 코드 가독성 때문에 사용된다는 부분까지 똑같다. 혹시 함수의 개념을 잘 모른다면 아래의 캡쳐본을 참고해주길 바란다. https://jaeano.tistory.com/16 [Python] 함수(함수기본, 매개변수, 리턴값) 저번에 함수를 설명할 때는 함수는 어떠한 일을 대신해주는 것이라고 했다. 분명 파이썬에서 기본으로 제공되는 함수와 메소드를 사용하면 분명 원하는 결과를 빠르게 만들어낼 수 있다. 틀린 jaeano.tistory.com 함수와 메소드의 차이로는 선언된 부분으로 메소드는 클래스 내에서 정의된다는 것이다. 클래스 안에 있는 함수가 메소드라고..

Java/Java 기초 2022.04.06

[Java] 사용자 입력 (Scanner)

키보드에서 프로그램으로 데이터를 입력하는 방법은 Scanner를 사용하는 방법이다. 이때 키보드를 통해 데이터를 버퍼가 받아들이고 버퍼를 거쳐서 프로그램으로 전달된다. Scanner를 통해 전달되는 모든 데이터는 문자열에 해당한다. Scanner 사용법 Scanner 메소드 Scanner 사용법 1. import 2. new 우선 Scanner를 사용하려면 Scanner Class를 불러와야한다. import java.util.Scanner; Scanner Class를 불러혼 후 객체를 만들어줘야한다. 객체는 아래와 같다. Scanner sc = new Scanner(System.in); sc라는 이름의 Scanner 객체에 new 메소드를 사용해 Scanner를 할당하고 키보드로부터 데이터를 입력받는다..

Java/Java 기초 2022.03.29

[Java] 연산자 (관계, 논리, 삼항)

변수를 통해 값을 저장한다면 연산자를 통해 값을 다룬다. 연산자는 연산을 수행하는 기호이고 연산자에게 연산 당하는 객체를 피연산자라고한다. 단항, 이항, 삼항 연산자는 연산자가 필요로하는 피연산자를 나타낸다. 자주쓰이는 대부분의 연산자는 이항연산자이다. 연산자(관계, 논리, 삼항) Relational Operator Logical Operator Ternary Operator Relational Operator Relational Operator ==, !=, >, >=, = 왼쪽 피연산자 값이 크거나 같을 때 참

Java/Java 기초 2022.03.23

[Java] 연산자 (대입, 산술, 복합대입, 증감)

변수를 통해 값을 저장한다면 연산자를 통해 값을 다룬다. 연산자는 연산을 수행하는 기호이고 연산자에게 연산 당하는 객체를 피연산자라고한다. 단항, 이항, 삼항 연산자는 연산자가 필요로하는 피연산자를 나타낸다. 자주쓰이는 대부분의 연산자는 이항연산자이다. 연산자(대입, 산술, 복합대입, 단항) Assignment operator Arithmetic operator Compound assignment operator Unary operator Assignment Operators = 기호를 사용한다. 기호의 기준에서 오른쪽의 값을 왼쪽의 피연산자에게 대입한다. 연산을 수행하는데 2개의 피연산자가 필요하다. 대입 연산자 = 피연산자 대입 Arithmetic Operators +, -, *, /, %를 사용한다..

Java/Java 기초 2022.03.22

[Java] 변수 자료형 (Primitive Data Types)

자바에서 변수 사용전 항상 변수는 선언되어야한다. 변수 선언시 변수는 자료형과 이름을 필수로 가져야하고 상황에 따라 값이 있어야한다. (사용시 값도 필수이긴하다.) 자바 변수 자료형 (Primitive Data Types) byte short int long float double boolean char 문자열(String)은 자료형의 기본타입이 아니다. 리터럴이란 소스코드로 계산 없이 입력하는 '값'이다. 리터럴 하나하나가 메모리 어딘가에 저장되었다. 입력하는 값에 따라 자료형이 다르다. 변수 리터럴 (Literals) 정수 리터럴 (Integer Literals) 실수 리터럴 (Floating-Point Literals) 문자 리터럴 (Character Literals) 정수 리터럴 Integer L..

Java/Java 기초 2022.03.21

[Java] 변수 (Variables, Fields)

자바의 변수을 알아볼 것이다. 변수의 종류로 크게 4가지가 있다. Instance Variables (Field) Class Variables (Field) Local Variables (Variable) Parameter (Variable) Instance Variables (Non-Static Fields) static 키워드 없이 선언된 변수 각각의 인스턴스(클래스)에 대해서 사용 용도만 같고 값은 모두 다른 변수 인스턴스가 소멸할 때 소멸한다. Class Variables (Static Fields) static 키워드를 사용해 선언된 변수 각각의 인스턴스(클래스)에 대해서 사용 용도와 값이 모두 같은 변수 (파이썬 전역 변수 느낌) 프로그램이 종료될 떄 소멸한다. Local Variables 메..

Java/Java 기초 2022.03.21