본문 바로가기

Java11

자바 #008_인터페이스 인터페이스(interface) - 객체의 사용 방법을 정의한 타입 - 인터페이스를 통해 다양한 객체를 동일한 사용 방법으로 이용할 수 있음 - 다형성 구현 - 인터페이스의 메소드를 호출하면, 객체의 메소드가 호출된다. - 개발 코드를 수정하지 않고도 객체 교환이 가능!! - ~.java 형태 소스 파일로 작성. 컴파일러를 통해 ~class형태로 컴파일된다. - 클래스와 물리적 파일 형태는 갖지만, 소스 작성 내용이 다르다. [public] interface 인터페이스 이름 { ... } - 인터페이스는 객체로 생성할 수 없다 => 생성자를 가질 수 없다. interface 인터페이스명 { // 상수 타입 상수명 = 값; // 추상 메소드 타입 메소드명(매개변수, ...); } 상수 필드 선언(consta.. 2023. 1. 17.
자바 #007_상속 OOP(객체 지향 프로그램)에서 부모 클래스의 멤버를 자식 클래스에게 상속해줄 수 있다. 상속 - 재사용 : 이미 개발된 클래스를 재사용하여 새로운 클래스를 만들기 때문에, 중복코드가 줄어든다. - 유지보수 : 부모클래스를 수정하면, 상속받고 있는 모든 자식 클래스가 수정되므로 유지보수 시간이 줄어든다. 클래스 상속 - 자식 클래스를 선언할 때 뒤에 부모 클래스를 명시 class 자식클래스 extends 부모클래스 { // 필드 // 생성자 // 메소드 } - 부모 클래스는 하나만 정할 수 있다. - 부모클래스의 private 필드와 메소드는 상속받을 수 없다. - 부모와 자식이 다른 package에 존재하면, default 접근 제한자를 가진 필드와 메소드도 상속받을 수 없다. - 자식클래스의 객체를 .. 2023. 1. 16.
자바 : 리스트 List list = new ArrayList(); 로 사용하는 이유 (링크) https://bibi6666667.tistory.com/236 [Java] List 리스트 = ArrayList 로 선언해 사용하는 이유 List 리스트 = ArrayList 로 선언하는 이유 출처 : List와 ArrayList, 업캐스팅을 하는 이유 . 감사합니다👍 List list = new ArrayList();` `ArrayList list = new ArrayList(); 대부분의 ArrayList는 아래보단 위와 같은 형태 bibi6666667.tistory.com 2023. 1. 10.
자바 : 피라미드 * 만들어보기 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.