728x90

전체 글 128

[JAVA] 상속

상속 현실에서의 상속: 부모가 자식에게 물려주는 행위 객체지향에서의 상속: 부모 클래스의 멤버를 자식 클래에스에 물려주기. 상속은 이미 잘 개발된 클래스를 활용하기에, 코드의 중복을 줄여준다. 단, 상속을 해도 부모 클래스의 모든 필드와 메소드를 물려받는 것은 아니다. 부모 클래스에서 private 접근 제한을 갖는 필드/메소드는 상속 대상에서 제외 된다. 상속을 이용하면 클래스의 수정을 최소화 시킬 수 있다. 부모 클래스의 수정으로 모든 자식 클래스들의 수정 효과를 가져오기 때문에 유지 보수 시간을 줄인다. (이 말은 잘못 설계한 부모 클래스의 수정은 모든 클래스의 수정을 의미한다.) 클래스 상속 프로그램에서는 자식이 부모를 선택한다. 자식 클래스를 선언할 때 어떤 부모 클래스를 상속 받을 것인지 결정..

JAVA/JAVA 정리 2023.05.07

[JAVA] 클래스(Class) - 기본 개념

객체지향 프로그래밍의 5가지 설계 원칙, SOLID 객체지향 5원칙 객체지향 설계5대 원칙이라 부르는데 SRP(단일 책임 원칙), OCP(개방-폐쇄 원칙), LSP(리스코프 치환 원칙), ISP(인터페이스 분리 원칙), DIP(의존 역전 원칙)을 말하고 앞자를 따서 SOILD 원칙이라고 부른다. [ 단일 책임의 원칙(SRP, Single Responsibility Principle) ] 모든 클래스는 각각 하나의 책임만 가져야 한다. 클래스는 그 책임을 완전히 캡슐화해야 함을 말한다. 사칙연산 함수를 가지고 있는 계산 클래스가 있다고 치자. 이 상태의 계산 클래스는 오직 사칙연산 기능만을 책임진다. 이 클래스를 수정한다고 한다면 그 이유는 사직연산 함수와 관련된 문제일 뿐이다. [ 개방 폐쇄 원칙 (Op..

JAVA/JAVA 정리 2023.05.06

[JAVA] 참조 타입

데이터 타입 분류 메모리 사용 영역 메소드 영역 메소드 영역은 JVM이 시작할 때 생성되고 모든 스레드가 공유하는 영역이다. 힙 영역 (Heap Area) 힙 영역은 객체와 배열이 생성되는 영역이다. 객체와 배열이 저장된다. 힙 영역에 생성된 객체와 배열은 JVM 스택 영역의 변수에서 참조한다. 참조를 잃어버린 객체나 배열은 변수가 꺼내올 수 없으므로(사용불가) 자동으로 Garbage Collector(쓰레기 수집기)에 의해 힙 영역에서 제거된다. JVM 스택 영역 (Stack) 스택 영역은 자바 프로그램에서 메소드가 호출될 때 메소드의 스택 프레임이 저장되는 영역이다 각 스레드마다 하나씩 존재하며 스레드가 시작될 때 할당된다. 메소드를 호출할 때 프레임이 생성되며, 해당 프레임은 메소드가 종료될 때 제..

JAVA/JAVA 정리 2023.05.05

[JAVA] 연산자와 연산식

연산이란 ? 프로그램에서 데이터를 처리하여 결과를 산출하는 것을 연산이라고 한다. 단항 연산자 : ++x; 이항 연산자 : x+ y; 삼항 연산자 : (sum>90) "A" : "B"; 연산식은 반드시 하나의 값을 산출한다. 다음과 같이 x와 y 변수의 값을 더하고 나서 result변수에 저장한다. int result = x+ y; 연산식은 다른 연산자의 피연산자 위치에도 올 수 있다. x와y 변수의 값을 더하고 나서 5보다 작은지 검사한 후 결과값(true 또는 false)을 result 변수에 저장한다. boolean result = (x+y) >>) 대입 연산자 단순 대입 연산자 변수 = 피연산자 설명 : 우측의 피연산자의 값을 변수에 저장 삼항 연산자 삼항 연산자는(?:)는..

JAVA/JAVA 정리 2023.05.04

[JAVA] 반복문 (for문, while문, do-while문)

반복문 (for문, while문, do-while문) 반족적으로 실행해야 할 경우 for문 : 가장 큰 특징은 제어 변수를 사용한다는 점이다. 루프를 통제하는 변수를 선언하고 이 변수가 일정한 범위의 값을 가지는 동안 명령을 계속 반복한다. 그래서 통상 for문은 반복 횟수가 이미 정해져 있고 루프 중간에서 탈출하는 경우가 별로 없다. 물론 break문으로 강제로 탈출할 수도 있지만 일반적으로 반복 횟수가 정해져 있다. 그래서 for문은 1~100까지, 1번 학생~60번 학생까지의 경우처럼 미리 정해진 횟수만큼 반복할 때 가장 편리하다. 또한 문장안에 초기식, 조건식, 증감식이 포함되어 있어서 루프의 선두만 봐도 변수의 변화를 쉽게 파악하고 변경할 수 있다. for (초기식;조건식;증감식) { 명령; }..

JAVA/JAVA 정리 2023.05.04

[JAVA] 조건문 ( if문, switch문 )

조건문( if문, switch문 ) if문 if문은 조건식의 결과에 따라 블록이 실행 여부가 결정된다. 조건식에는 true 또는 false 값을 산출할 수 있는 연산식이나, boolean 변수가 올 수 있다. 조건식이 true이면 블록을 실행하고 false이면 블록을 실행하지 않는다. if (조건식){ 실행문; 실행문; .... } // 조건식이 true가 될 때 실행해야 할 문장이 하나 밖에 없다면 // 중괄호 {} 생략가능하지만 생략하지 않고 작성하는 것을 추천 if ( 조건식 ) 실행문 ; 조건식이 true가 될 때 실행해야 할 문장이 하나 밖에 없다면 { } 생략가능하지만 생략하지 않고 작성하는 것을 추천 public class H2{ public static void main(String[] a..

JAVA/JAVA 정리 2023.05.04

[JAVA] 변수와 타입

변수(Variable) 변수란 ? 프로그램은 작업을 처리하는 과정에서 필요에 따라 데이터를 메모리에 저장한다. 이때 변수를 사용하는데, 변수는 값을 저장할 수 있는 메모리의 공간을 의미한다. 변수란 이름을 갖게 된 이유는 프로그램에 의해서 수시로 값이 변동될 수 있기 때문이다. 변수에는 복수 개의 값을 저장할수 없고, 하나의 값만 저장할 수 있다. 변수란 하나의 값을 저장할수 있는 메모리 공간 >>정수타입은 정수값만 실수타입은 실수값만 저장할 수 있다. 변수의 선언 변수를 사용하기 위해서는 먼저 변수를 선언해야 한다. //타입 변수이름; int age; //정수(int) 값을 저장할 수 있는 age 변수 선언 double value; // 실수 (double)값을 저장할 수 있는 value 변수 선언 i..

JAVA/JAVA 정리 2023.05.03

[JAVA] JAVA 시작하기

프로그래밍 언어란? 기계어는 0과 1로만 이루어져 있다. 자바 (Java)는 객체 지향적 프로그래밍 언어이다. 객체지향 프로그래밍 OOP (object oriented programming) 자바의 특징 이식성이 높은 언어이다. 객체 지향 언어이다. - 프로그램을 개발하는 기법으로 부품에 해당하는 객체들을 먼저 만들고, 이것들을 하나씩 조립 및 연결해서 전체 프로그램을 완성하는 기법을 객체 지향 프로그래밍 OOP (object oriented programming)라고 한다. 이때 사용되는 언어를 객체 지향 언어라고 한다. 함수적 스타일 코딩을 지원한다. 메모리를 자동으로 관리한다. 다양한 애플리케이션을 개발할 수 있다. 멀티 스레드를 쉽게 구현할 수 있다. - 하나의 프로그램이 동시에 여러 가지 작업을..

JAVA/JAVA 정리 2023.05.03
728x90