본문 바로가기

Backend

(33)
[JAVA] 상속(extends)과 super, 오버라이딩(overriding) 클래스 간의 상속(extends)과 super, 오버라이딩(overriding) 알아보기  1. 클래스 간의 상속클래스를 작성하다보면, 클래스 간 멤버 변수들이 겹치는 경우가 발생한다.// 코드의 중복이 발생하고 있는 클래스들class Student{ String name; int age; String stdNum; // 학번}class OfficeWorker{ String name; int age; String empNum; // 사번} 위의 예제에서 이름과 나이를 나타내는 변수 String name; 과 int age; 가 중복된다.같은 내용을 반복하는 것은 코드를 지저분하게 보여 깔끔히 정리하는 것이 중요한데, 같은 메소드에 하다못해 같은 클래스도 아니고. 다른 클래..
[JAVA] 싱글톤 패턴(Singleton Pattern)과 초기화 블록 싱글톤 패턴(Singleton pattern)과 초기화 블록국비지원수업 14일차   1. 싱글톤 패턴싱글톤 패턴(Singleton pattern)유한한 공간안에서 효율적으로 사용하기 위한 방법으로, 단 하나의 new instance를 만들어 놓고 계속 활용하는 방법이다. new instance의 사용은 새롭게 인스턴스를 만드는 과정으로 그만큼의 공간 할당이 필요한데, 싱글톤 패턴을 활용하게 되면 미리 만들어놓은 인스턴스를 새로 만들어지는 객체들이 공유해서 사용하게 되어 공간 절약에 도움을 준다.  1-1. 싱글톤 패턴 방식싱글톤 방식은 1. 클래스 내부에 유일한 객체(itc)를 private static 형태로 생성해두고2. public static으로 만들어진 getInstance() 메소드를 호출해서..
[JAVA] static과 인스턴스(instance) 클래스로 알아보는 스태틱(static)과 인스턴스(instance)국비지원수업 13일차   1. static 키워드static- 멤버변수, 멤버 메소드에 사용할 수 있는 키워드로- 정적변수(클래스의 변수), 정적 메소드(클래스의 메소드)를 선언할 때 사용한다.  자바 프로그램의 구동 과정JVM(Java Vertual Machine): 어디서든 자바 프로그램이 잘 실행되도록 하는 가상머신 JVM에서 프로그램이 시작되면...1. 실행할 모든 클래스 중 static이 붙은 변수와 메소드를 수집한다.2. 해당 변수와 메소드들은 프로그램 시작 전에 메모리에 적재한다.static이 붙지 않은 변수와 메소드는 생성 명령이 실행될 때 메모리에 적재된다.3. 메모리에 로딩된 static 메소드 중, main 이름을 검색..
[JAVA] 클래스 생성자(Constructor) 클래스의 생성자(Constructor) 알아보기국비지원수업 13일차    1. 생성자란?생성자 (Constructor)이전에 다뤘던 메소드와 조금 다르게 별도로 정의하지 않아도 클래스 내부에 존재하는 메소드로, 클래스 이름과 동일한 이름을 갖는 멤버 메소드이다. 리턴 값이 없어 메소드 정의 시 void, int 등의 리턴 자료형을 쓰지 않으며 객체가 생성될 때마다 호출된다. class A{ A(){ }class AA a = new A();main 클래스, A의 객체 생성 new 키워드와 함께 객체를 저장하기 위해 Heap 메모리에 공간을 할당하며, 할당된 공간에 멤버 변수를 만든다. 즉, 생성자는 new Instance를 만드는 역할이라 할 수 있다. 본래의 역할 이외에 추가적인 코드를 더 기..
[JAVA] 클래스(Class) 생성과 사용 클래스 (Class) 생성과 사용 알아보기국비지원수업 12일차    1. 클래스(class)란?클래스 (Class)프로그램으로 처리하고자 하는 대상의 요소값들을 자료화하여 하나의 자료형으로 정의한 사용자 정의 자료형- 하나 이상의 서로 다른 자료형의 자료를 하나로 저장할 수 있는 복합 자료형- 클래스는 ' 정의 영역 ' -> 실제 사용은 ' 객체 ' 라는 이름으로 사용됨- 그동안 클래스-객체인지 모르고 사용해오던 클래스 : Scanner  1-1. 클래스 구성- 필드 (Field)- 생성자 (Constructor)- 메소드 (Method)class First{ // 필드(Field) int n1; // 멤버 변수 int n2; // 생성자(Constructor) First(){..
[JAVA] 메소드 (Method) 메소드(Method) 알아보기국비지원수업 11일차    1. 메소드(Method)란?메소드(Method)- 클래스 내의 함수- 데이터를 입력 받아 어떠한 기능을 수행한 후 결과값을 내놓는 단위 실행 코드 메소드의 특징- 명령들을 모아서 단위(그룹)으로 정의- 메소드마다 고유한 이름이 존재- 메소드의 이름을 불러 실행(명령, 호출(call))하면 그룹안의 코드들이 실행되는 형식- 자바의 메소드는 이름 옆에 항상 (괄호)가 달려있음ex) System.out.print(); / Math.random() / 문자데이터.equals() / 문자데이터.compareTo() - import하지 않아도 됨 메소드의 목적- 그룹안의 코드들을 재활용- 명령들의 단순 실행이 아닌, 메소드 내 코드들에게 연산 또는 일정 기능..
[JAVA] 배열 (Array), 2차원 배열 배열 (Array) 과 2차원 배열 알아보기국비지원수업 10일차   1. 배열이란?배열(Array)- 동일한 변수 이름에 변호(첨자, index)를 붙여서 다수개의 데이터를 한 번에, 효과적으로 저장하고 다루기 위한 자료구조- 하나의 이름으로 다수개의 변수들을 손쉽게 생성, 제어 가능 변수와 배열저장공간을 차지하고 이름을 불러서 사용한다는 의미에서는 변수와 비슷하지만, 변수와는 구조와 사용방법이 다름- 변수 : 변수의 이름으로 구분 (kor1, kor2, kor3...)- 배열 : 첨자(index)로 구분 (kor[1], kor[2], kor[3]...) // 일반변수의 생성int b;// 배열의 생성int[] a = null; // 아무것도 없는 상태 a(배열)은 b(일반 정수형 변수)와는 다른 ' 참..
[JAVA] 연산자 (Operator) 연산자 (Operator) 알아보기국비지원수업 8일차    1. 연산자(Operator) 종류와 우선순위연산자의 종류- 산술 연산자 : + - * / %- 관계(비교) 연산자 : >, >=, - 논리 연산자 : && (AND), || (OR), ! (NOT)- 대입연산 : =- 삼항연산 : ?- ++, --, +=, -=, *=, /=, %= 연산자의 우선순위1. () 괄호2. 피연산자 앞에 있는 ++, -- (전위연산자)3. 곱셈(*), 나눗셈(/), 나머지(%)4. 덧셈(+), 뺄셈(-)5. 관계 연산 ( == != )6. 논리 연산 ( && || ! )  2. 산술 연산자산술 연산자 : +, -, *, /, % int n1 = 25, n2 = 13, result1;double result2;cha..