JAVA 스터디 : 추상 클래스 추상클래스란? 상속시에 반드시 override 를 강제적으로 하게 하는 클래스이다. abstract : 추상 클래스를 선언하는 키워드 추상 클래스 상속과 일반적인 상속의 비교 차이는 있지만 어느 쪽이 좋다고 할 순 없음. 언제든지 변경하는 경우도 있음. 오버라이드가 반드시 필요한 경우는 추상 클래스를 이용한다. JAVA 2020.11.20
JAVA 스터디 : 상속 / 오버라이드 상속이란? 객체지향 언어의 대표적인 JAVA 를 공부 할 때 가장 핵심적인 부분이 상속과 추상화 개념. 어떤 객체가 다른 객체로부터 객체의 데이터(속성)과 메소드를 상속받을 수 있다. 이 경우 상속받은 객체는 상속해준 객체의 데이터 및 메소드를 이용할 수 있고, 변경할 수 있다. 특징 extends를 이용해 상속을 받는다. (ex, public childClass extends parentsClass) 두 개 이상의 클래스를 상속받을 순 없다. (다중상속 x) 오버라이드 부모클래스의 메소드를 자식 클래스에서 재정의 함 상속을 받으면 데이터 타입을 상위 클래스로 표시할 수 있다. 오버라이드 장단점 장점: 클래스를 상속받아 메소드를 재정의 할 수 있다. 단점: 자식 클래스에서 부모클래스를 override 하.. JAVA 2020.11.19
JAVA 스터디: static static 이란? static 키워드는 공유된다 (static 변수는 대개 대문자) static으로 지정된 변수/메소드는 사용시 객체 생성 없이 바로 클래스명.~ 으로 접근할 수 있다. 생성자에는 반환값이 없다. 이것이 메소드와의 차이점이다. 매개변수는 있을 수 있다. default 생성자는 있어도 되고 없어도 된다. **데이터 영역 : 클래스들이 모여있다, Heap영역 : 객체들이 모여있다. 가비지 콜렉터는 Heap 영역만 관리한다.(데이터 영역은 관리하지 않는다) static 장점과 단점 장점: 객체 생성 없이도 메모리에 상주한다. 단점: static 이 많고 프로젝트가 유지되어 시스템이 오래 돌아갈수록 시스템에 과부하를 줄 수 있다. JAVA 2020.11.19
JAVA 스터디 : 객체 객체지향 프로그램의 본질 메소드 프로그래밍의 한계 1. 메소드를 이용하면 로직의 재사용이 가능하여 개발을 효율적으로 할 수 있긴함 2. 그러나 메소드만으로는 많은 양의 로직을 처리하기엔 한계가 있었음. 3. 문서 내에 메소드 수가 많을 경우 유지보수에 많은 어려움 발생. 객체의 개념 및 클래스의 이해 객체 : 같은 종류의 데이터와 로직이 함께 있는 구성체 메소드와 비슷하지만 그 상위개념으로, 완전한 독립체라고 할 수 있다. 객체는 클래스로부터 생성(복제)된다. JAVA 2020.11.18
JAVA 스터디 : 절차지향 ? 객체지향 ? +함수 / 메서드 절차지향 대표적인 언어 : C언어 특징 메인함수의 위부터 아래로 순서대로 지향된다. 할당되는 데이터의 값이 일부분 변경될 경우 수정이 어려울 수 있다. 코드가 짧은 경우 큰 문제가 없으나, 복잡해질수록 유지보수가 어렵다. 그 후 함수(메소드)가 생겨났다. 로직만 설정해두고 그때 그때 제공되는 소스(데이터)에 따라 함수(메소드)가 결과값을 반환한다. 객체지향 대표적인 언어 : JAVA 동일한 성질의 데이터와 메소드를 한 곳에 모아두고 필요한 곳에서 언제든지 이용할 수 있게 만들어둔 덩어리이다. 접근제한자(public / private) 반환타입(int / char / String ...)(*반환값이 없는 경우 void 이용) 메소드(함수)이름 ((파라미터값)) ex) public int sum(int i,.. JAVA 2020.11.17
JAVA 스터디 : 변수 / 배열 변수란? int i / char c 처럼 i와 c에 각각 할당할 수 있도록 하는 소스이다. - 언제든지 설정값을 변경할 수 있다. - 하나의 데이터만 할당된다. 배열이란? 여러개의 데이터가 할당된다. 배열의 크기가 지정되며, 최초에 설정한 크기를 변경할 순 없다. 기초 자료형 변수와 달리 데이터가 들어있지 않고, 데이터가 위치한 주소값을 가리킨다. (주소값=레퍼런스) 다차원 배열 배열 안에 배열이 들어있는 구조로, Arr1 배열이 Arr2 배열의 주소값을 가리키고, Arr2 배열이 실제 할당된 데이터의 주소값을 가리킨다. Arr[][] 의 형태로 사용하나, 가독성이 떨어지므로 복잡한 데이터를 요구할 때에는 데이터베이스가 이용된다. JAVA 2020.11.17
JAVA 스터디 : 제어문 제어문이란? 상황을 판단하여 ture / false 를 반환한다. if if ~ else if ~ else if ~ else switch switch문의 경우 if 나 else if 와 비슷하지만 가독성면에서 if 보다 좋은 경우가 있다. switch문 문법 sc 스캐너로 입력받은 i를 2로 나눴을 때 그 나머지(result)가 0인 경우 짝수, 1인 경우 홀수가 출력된다. if / else if / else 문으로 할 경우 이런 식으로 되므로 어느 쪽이 더 편한지는 개발자의 취향에 따라 달라질 것이라 생각한다. JAVA 2020.11.16
JAVA 스터디 : 연산자란? 연산자란? 일정한 규칙을 가지고 계산하는 것. 산술, 자동 증감, 동등 비교, 비트 연산 등 있음. 산술-> +, -, * , /, % (나머지) // 기본적인 산수 자동증감 -> ++, -- 동등비교 -> ==, !=, >,=, && (and) , || (or) 상황연산자 int result = h != 5 ? 1:2 /// ?의 앞이 true라면 1이 할당되고 ?의 앞이 false 라면 2가 할당된다. 할당 연산자 int i = 10; // = 으로 변수에 값을 할당한다. JAVA 2020.11.16
JAVA 스터디 : 용어정리 - 변수 & 형변환 기본 자료형 (Primitive) Java 언어에 이미 존재하고 있는 데이터 타입. 간단한 데이터들이다. (int, double, boolean, char 등...) 객체 자료형 (Object) 여러가지 데티어가 모여있는 복잡한 데이터로 기본 자료형에 비해 크기가 크다. (String, System, ArrayList 등...) 형변환 묵시적 형변환: 작은 데이터를 큰 것으로 바꾸는 것. 명시적 형변환: 큰 데이터를 작은 데이터로 옮겨야하므로 데이터 손실이 있을 수 있고, 코드에 표기해야 오류가 발생할 일이 적다. 자료형 크기 값의 표현 점위 문자형 부호 있음 char 1byte -128 ~ +127 부호 없음 unsigned char 1byte 0 ~ 255 정수형 부호 있음 short 2byte -3.. JAVA 2020.11.16
JAVA 스터디 : 용어정리. Java 언어의 특징 자바 언어의 탄생 1. 90년대 초 자바 탄생. 2. 일반적으로 사람들이 알게 된 시기는 1990년대 말. 3. C/C++에 비해 속도가 느려 외면을 받기도 함. JAVA 는 3가지 플랫폼을 이루고 있음 JAVA SE(Stand Edition) - 일반적인 어플리케이션 개발 JAVA ME(Mobile Edition) - 스마트폰 동작으로 쇠퇴 // 안드로이드가 탑재되므로.. JAVA EE(Enterprise Edition) - 기업 솔루션 개발 / 가장 핵심적 자바 언어의 특징 1. Virture Machine - 운영체제의 영향을 받지 않음 Java Progra - Virture Machine -> 윈도우 ㄴ--> 리눅스 ㄴ--> 맥OS 가상머신을 통해서 진행되므로 속도면에서 떨어질 수 있음. 2. G.. JAVA 2020.11.16