본문 바로가기

java9

자바 #007_상속 OOP(객체 지향 프로그램)에서 부모 클래스의 멤버를 자식 클래스에게 상속해줄 수 있다. 상속 - 재사용 : 이미 개발된 클래스를 재사용하여 새로운 클래스를 만들기 때문에, 중복코드가 줄어든다. - 유지보수 : 부모클래스를 수정하면, 상속받고 있는 모든 자식 클래스가 수정되므로 유지보수 시간이 줄어든다. 클래스 상속 - 자식 클래스를 선언할 때 뒤에 부모 클래스를 명시 class 자식클래스 extends 부모클래스 { // 필드 // 생성자 // 메소드 } - 부모 클래스는 하나만 정할 수 있다. - 부모클래스의 private 필드와 메소드는 상속받을 수 없다. - 부모와 자식이 다른 package에 존재하면, default 접근 제한자를 가진 필드와 메소드도 상속받을 수 없다. - 자식클래스의 객체를 .. 2023. 1. 16.
자바 : 피라미드 * 만들어보기 2022. 12. 14.
자바 #006_클래스 객체 생성 - 메모리를 점유시키는 것. 객체(Object)는 클래스의 최고 조상으로, 자신의 속성을 가지면서 식별 가능한 것을 말한다. 객체는 속성(field) + 동작(method)로 구성된다. 객체와 객체는 메소드를 통하여 상호작용이 가능하다. 자바는 집합/사용 관계에 있는 객체를 하나씩 설계하고, 조립하여 다양한 프로그램을 개발하는 객체 지향 프로그래밍 이다. 객체 지향 프로그래밍은 유지보수 측면에서 아주 좋다. 클래스 자바의 설계도. Instance : 클래스로부터 만들어진 객체이며, 현재 만들어져서 사용하고 있는 객체를 말한다. 객체 지향 프로그래밍은 클래스를 설계하고, 이 클래스로 사용할 객체를 생성하여 객체를 사용한다. new 연산자로 메모리 Heap 영역에 객체를 생성한다. 객체 생성 후 .. 2022. 12. 12.
자바 #005_참조 참조타입(Reference Type) - 객체(object)의 번지를 참조하는 타입 메모리 사용 영역 !! 자바에서만 해당되는 내용 !! 메모리 사용영역은 메소드 영역, 힙 영역, JVM 스택 영역이 있다. 메소드 영역에는 클래서별 static field, constant, constructor, method 코드 등을 분류하여 저장하고, 힙 영역은 객체와 배열이 생성되는 영역이며, JVM 스택 영역은 메소드가 호출되면 프레임이 추가되고, 메소드가 종료되면 프레임이 제거되는 영역이다. 참조 타입 변수는 스택영역에 힙 영역에 생성된 객체의 주소를 갖는다. ** 자바에서 char 타입은 2byte이다!!! 참조타입에서 동일 객체를 참조하는지, 다른 객체를 참조하는지 알아볼 때에는 == 혹은 != 연산자를 사.. 2022. 12. 12.
자바 #004_조건문, 반복문 조건문 - 조건식에 따라 다른 실행문을 실행하기 위해 사용 if문 조건식 결과에 따라 블록 실행 여부가 결정된다. 조건식에는 true/false 혹은 boolean 결과가 나오는 연산식이 와야한다. if문의 중괄호 블록은 조건식이 참일때 실행된다. if-else문/ 다중 if-else문 if문 바로 뒤에 else문을 함께 사용. if문의 조건식이 true이면 if문의 중괄호 블록을 실행, false이면 else문의 중괄호 블록을 실행 다중 if-else문도 마찬가지이다. 다만 if-else문이 반복된다. public class IfElseIfElseEx { public static void main(String[] args) { int score = 60; if(score >= 90) { System.o.. 2022. 12. 12.
자바 #003_연산자 연산자(Operator) - 연산에 사용되는 표시나 기호 피연산자(Operand) - 연산자와 함께 연산되는 데이터 연산식(Expression) - 연산자와 피연산자를 사용하여 기술한 식 자바에서 연산이 복합적으로 구성되어 있다면, 우선순위에 따라 수행된다. 단항 - 이항 - 삼항 산술 - 비교 - 논리 - 대입 순이다. 우선순위가 같으면 왼쪽에서 오른쪽으로 수행된다. 다만, 대입연산자는 반대로 오른쪽에서 왼쪽으로 수행된다. 우선순위 순으로 나열한 리스트(위가 높음) : 증감(++ --), 보호(+ -), 논리(!) 산술(* / %) 산술(+ -) 비교( = instanceof) 비교(== !=) 논리(&) 논리(^) 논리(|) 논리(&&) 논리(||) 조건(? :) 대입(= += -= *= /= %=).. 2022. 12. 12.
자바 #002_변수, 리터럴 2022.12.06 - [Java] - 자바 #001_자바 시작하기 자바 #001_자바 시작하기 자바 시작하기 Java는 임베디드, 웹, 안드로이드 소프트웨어(SW) 개발 분야에 주로 사용된다. 1995년 마이크로시스템즈에서 발표되었으며, 현재 웹사이트 및 다양한 Application 개발의 핵심적인 언어 hhahee.tistory.com 에서 예약어 부분에 대하여 좀 더 자세하게 공부해보겠다. 예약어 기본 타입 : boolean, byte, char, short, int, long, float, double 접근 제한자 : private, protected, public 클래스 : class, abstract, interface, extends, implements, enum 객체 : new, inst.. 2022. 12. 8.
자바 #001_자바 시작하기 자바 시작하기 Java는 임베디드, 웹, 안드로이드 소프트웨어(SW) 개발 분야에 주로 사용된다. 1995년 마이크로시스템즈에서 발표되었으며, 현재 웹사이트 및 다양한 Application 개발의 핵심적인 언어이다. 특징 모든 운영체제에서 실행 가능 객체지향 프로그래밍(OOP : Object Oriendted Programming) 메모리 자동 정리 풍부한 무료 라이브러리 개발도구 : Java Development Kit (JDK) 이클립스 (eclipse) : 무료 오픈 소스 통합 개발 환경(IDE) 바이트코드 파일(.class) 자바 프로그램은 기계어가 아닌, 바이트 코드(.class 파일)로 구성되어 있다. 바이트 코드 파일은 운영체제에서 바로 실행이 불가능하며, JVM (자바 가상 기계)가 기계어.. 2022. 12. 6.
Java 내가 보려고 작성한 기본 기초 문법, 용어 정리 정수타입 byte : 1byte : -128 ~ +127 short : 2byte : -2^15 ~ ((2^15)-1) char : 2byte : 0 ~ 65535(유니코드)​ int : 4byte : -2^31 ~ ((2^31)-1)​ long : 8byte : -2^63 ~ ((2^63)-1)​ 실수타입 float : 4byte (소수점 7자리 이하) 뒤에 f 붙이기 double : 8byte (소수점 15자리 이하) 기본형 논리타입 boolean : true or false (기본 : false) 자동타입변환(Promotion) 큰type = 작은type byte < short < int < long < float < double 리터럴(Literal) 소스코드에서 프로그래머에 의해 직접 입력된 값.. 2022. 12. 5.