[Java Basic] 10. 상속 & 다형성
·
Language/Java ☕️
1. 상속(Inheritance)상속1 뒤를 이음.2 일정한 친족 관계가 있는 사람 사이에서, 한 사람이 사망한 후에 다른 사람에게 재산에 관한 권리와 의무의 일체를 이어 주거나, 다른 사람이 사망한 사람으로부터 그 권리와 의무의 일체를 이어받는 일.출처: 네이버 국어사전현실에서의 상속이란 국어사전에 적힌 의미처럼, 부모가 자식에 물려주는 행위를 일컫는다. 때문에 자식은 부모가 전해준 것을 자연스럽게 이용할 수 있게 된다. 위의 개념을 객체지향프로그래밍으로 가져오면 아래와 같이 해석할 수 있다. 자식 클래스(하위 클래스)가 부모 클래스(상위 클래스)의 필드나 메소드를 그대로 받아서 사용할 수 있게 함으로써 객체들 간의 관계를 구축하는 방법이다.출처: 위키백과상속을 하는 이유는 이미 잘 개발된 클래스를 재..
[Java Basic] 9. 정적 변수 (Static Variable)
·
Language/Java ☕️
1. 정적 멤버정적 멤버는 클래스에 고정된 멤버로서 객체를 생성하지 않고 사용할 수 있는 필드와 메소드를 의미한다. 필드의 경우에는 정적 필드, 메소드의 경우에는 정적 메소드 라고 명명한다. 정적 멤버는 객체(인스턴스) 에 소속된 멤버가 아니라 클래스에 소속된 멤버이기 때문에 클래스 멤버라고도 부른다.1.1 정적 멤버 선언정적 필드 및 메소드를 선언하는 방법은 필드, 메소드 선언 시 앞에 static 키워드만 추가로 붙여주면된다.[Static 멤버 선언]public class className { // 정적 필드 static 타입 필드명 [= 초기값]; // 정적 메소드 static 리턴타입 메소드명(매개변수1, ...) { ... }} 정적 필드와 메소드는 ..
[Java Basic] 8. 어노테이션 (Annotation)
·
Language/Java ☕️
1. 어노테이션 (Annotation)어노테이션이란, 메타데이터라고 볼 수 있으며, 애플리케이션이 처리하는 것이 아니라, 컴파일 과정과 실행 과정에서 코드를 어떻게 컴파일하고 처리할 지 알려주는 정보이다. 작성 시 아래와 같은 형태로 작성한다.[Annotation 사용 예시]@Annotation_name 1.1 어노테이션 사용어노테이션을 사용하는 용도는 크게 3가지이다.컴파일러에게 코드 문법에러를 체크하도록 정보를 제공하는 용도소프트웨어 개발 툴 혹은 빌드, 배치 시 코드를 자동으로 생성하도록 정보를 제공하는 용도실행(=런타임) 시, 특정 기능을 실행하도록 정보를 제공하는 용도대표적인 어노테이션으로는 @Override 어노테이션이 있다. 오버라이드(Override) 는 메소드 선언 시 사용되는데, 해당 ..
[Java Basic] 7. 클래스 Ⅱ - 인스턴스 & 캡슐화
·
Language/Java ☕️
1. 인스턴스 (Instance)앞선 장에서 클래스를 선언하고 이를 객체화 하는 것을 객체화 혹은 인스턴스화라 한다고 설명했고, 이로 인해 생성되는 객체를 인스턴스라고 한다. 당연한 이야기지만, 이렇게 생성된 객체에서는 해당 클래스에 선언된 필드, 메소드 들이 존재하는 데, 클래스에서와 달리 실존하는 필드와 메소드 들이며, 이를 가리켜 인스턴스 멤버 라고 한다.또한 객체에 속해있는 필드와 메소드는 각각 인스턴스 필드, 인스턴스 메소드라고 부르며, 객체 없이는 사용이 불가하다. 생성된 객체에서 필드와 메소드를 외부에서 접근하려면 해당 객체를 생성하고 객체명.필드명 혹은 객체명.메소드명() 등의 형식으로 호출해야한다.2.객체 간 협력객체지향 프로그래밍이란, 객체를 정의하고 객체간의 협력을 구현한 프로그램을 ..
[Java Basic] 6. 클래스 I - 객체의 구성
·
Language/Java ☕️
1. 객체 (Object)객체란 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 갖고, 다른 것들과 식별이 가능한 것을 의미한다. 현실 세계에서의 객체를 소프트웨어적인 관점으로 본다면, 구체적 혹은 추상적인 데이터의 크기를 의미하며, 현실 세계의 객체를 소프트웨어적인 객체로 설계하는 과정을 객체 모델링 이라고 한다.1.1 객체 지향 프로그래밍 vs. 절차 지향 프로그래밍객체 지향 프로그래밍이란, C++, Java 와 같이 객체를 기반으로 하는 프로그래밍을 의미하며, 특징으로는 기능을 사용하려면 객체의 생성 위치에 상관없이, 객체를 먼저 생성한 후에 로직이 실행되는 구조를 가진다. 이에 반해 절차 지향 프로그래밍이란, 위에서부터 아래로 프로그램의 로직이 진행되는 프로그래밍을 의미하..
[Java Basic] 5. 참조타입
·
Language/Java ☕️
1. 참조타입Java에 객체(Object)의 번지를 참조하는 타입으로 배열, 열거, 클래스, 인터페이스 타입을 의미한다. 선언된 변수는 메모리의 번지를 값으로 갖는다. 일반적으로, 변수는 스택(stack) 영역에, 객체는 힙(heap) 영역에 생성된다.2. 메모리 사용 영역JVM은 운영체제에서 할당받은 메모리 영역(Runtime Data Area)을 아래 그림과 같이 세부 영역으로 구분해서 사용한다.2.1 메소드 영역코드에서 사용되는 클래스(.class) 들을 클래스 로더로 읽어 클래스별로 런타임 상수 풀, 필드 데이터, 메소드 데이터, 메소드 코드, 생성자 코드 등을 분류해서 저장한다. 해당 영역은 JVM이 시작할 때 생성되어 모든 스레드가 공유하는 영역이기도 하다.2.2 힙 영역객체와 배열이 생성되는..
[Java Basic] 4. 조건문 & 반복문
·
Language/Java ☕️
1. 제어문프로그램의 실행 흐름을 개발자가 원하는 방향으로 실행할 수 있도록 해주는 구문을 의미하며, 조건문과 반복문이 이에 속한다. 주로 조건식과 중괄호로 구성이 되는데 조건식의 연산 결과에 따라 블록 내부의 실행 여부가 결정된다.2. 조건문2.1 if - else 문조건식의 결과에 따라 수행문이 실행되는 조건문이며, 조건식에는 true 혹은 false 값을 산출할 수 있는 연산식이나, boolean 변수가 올 수 있다.▶ 형식if (조건식) { 수행문;} else if (조건식){ 수행문;} else { 수행문;} 이 때, 중간의 else if 는 조건이 여러 개이면서, if 에 속한 조건은 만족하지않을 경우에 사용한다. 또한 중괄호 블록은 여러 개의 실행문을 하나로 묶기 위해서 사용하는 ..
[Java Basic] 3. 연산자
·
Language/Java ☕️
1. 연산자와 연산식▶ 연산 프로그램에서 데이터를 처리하여 결과를 산출하는 것을 의미한다.▶ 연산자항을 이용해 연산하는 표시 혹은 기호이며, 연산에 사용되는 항의 개수로 구분했을 때, 단일연산자부터 삼항연산자까지 존재한다.▶ 피연산자연산이 되는 데이터2. 연산자의 종류연산자는 항의 개수에 따라, 기능에 따라 구분할 수 있다.2.1 항의 개수에 따른 구분▶ 단항연산자항이 1개인 연산자 (ex. ++, --, ...)▶ 이항연산자항이 2개인 연산자 (ex. +, -, *, /, %, ...)▶ 삼항연산자항이 3개인 연산자 혹은 조건 연산자라고 한다. (ex. ?)2.2 기능에 따른 구분우선 자바에서 사용 가능한 연산자는 다음과 같다.2.2.1 대입 연산자왼쪽 변수에 오른쪽 값을 대입하는 식으로 사용하며, 우..
[Java Basic] 2. 변수와 상수
·
Language/Java ☕️
1. 변수 단 하나의 값을 저장할 수 있는 메모리 공간1) 구성▶ 변수 타입변수에 저장될 값이 어떤 타입인지를 지정하는 것▶ 변수 이름메모리 공간에 이름을 붙여주는 것으로 변수 선언시 메모리의 빈 공간에 변수타입에 알맞은 크기의 저장공간이 확보되고 해당 공간은 변수 이름을 통해서 이용할 수 있게 된다.▶ 변수 선언변수를 선언할 때는 "="(대입연산자) 를 이용한다.int numberOfCount = 10;char asciiCode; ▶ 변수 초기화 변수를 사용하기 전에 처음으로 값을 저장하는 것이며, 다른 프로그램에 의해 저장된 알 수 없는 값 (쓰레기 값, Garbage Value)이 남아있을 수 있기 때문이다. 변수 타입이 같은 경우 , 를 이용해서 한 줄에 선언이 가능하다.▶ 사용 범위변수는 항상 ..
[Java Basic] 1. Java 란?
·
Language/Java ☕️
1. JAVASun MicroSystems 사에서 개발하여 1996년에 공식적으로 발표한 객체 지향 프로그래밍 언어이다. 운영체제에 독립적이기 때문에 종류에 상관없이 실행이 가능하기 때문에 코드 변경 없이 실행 가능하다.1) 특징운영체제에 독립적이다.객체지향언어이다.비교적 쉽다.자동 메모리 관리(Garbage Collection)네트워크와 분산 처리를 지원한다.멀티스레드를 지원한다.동적 로딩을 지원한다.2. JVM(JAVA Virtual Machine)자바를 실행하기 위한 가상 기계이며, 자바로 작성된 애플리케이션은 모두 이 가상 머신에서만 실행되기 때문에 자바 애플리케이션이 실행되기 위해서는 반드시 JVM이 필요하다.3. 설치1) JDK(JAVA Development Kit) 자바 가상머신(JVM) 과..
SLYK1D
'분류 전체보기' 카테고리의 글 목록 (8 Page)