TIL | Java - OOP 특징 : 1.상속
·
Java
1. 상속 : 부모가 자식에게 물려주는 행위 부모 클래스 : 상위 클래스 자식 클래스 : 하위 클래스 상속은 코드의 중복을 없애줘요! 하지만, 제대로 파악이 안 된다면 이해가 안 갈 수 있습니다. ❗️ 상속은 몇단이 되어도 다 상속 받을 수 있다. ❗️ 그러나 하나의 부모 클래스만 상속 받을 수 있다! ❗️ 생성자는 부모클래스에서 자식클래스한테 상속이 안 된다. 클래스 상속 public class 자식클래스명 extends 부모클래스명 { } ❗️예제 🧙‍♂️ 마법사 : wizard | 🦹 전사 : warrior | 🕹 플레이어 : player ① Player 클래스로 상속관계를 만들어 주세요. ② 전사는 생성될 때 이름만 매개변수로 받고, hp = 100, mp = 50이 됩니다. ③ 전사는 강력한 b..
TIL | Java - 기본타입 & 참조타입
·
Java
기본타입 : byte, char, short, int, long, float, double, boolean 실제 값을 변수 안에 저장하는 데이터 타입 참조타입 : reference type : 배열, 열거, 클래스, 인터페이스 객체의 주소를 참조하는 타입 (변수 안에 메모리의 주소값을 저장하는 타입) *클래스도 데이터 타입이 될 수 있다. 참조 타입으로 선언된 변수는 스택(stack) 영역에 주소값을 저장하고, 내부의 실제 값은 힙(heap) 영역에 저장합니다. 스택 : stack 힙 : heap 참조타입 String과 객체 동등비교 메서드 equals() string은 클래스다! new키워드를 사용해서 String객체를 직접 heap영역에 생성한다면 문자열의 내용이 같더라도 다른 주소값을 가지게 되므로..
TIL | Java - Garbage Collecter : 가비지 컬렉터
·
Java
Garbage Collecter : 가비지 컬렉터 - 자바에서만 존재하는 특별한 기능! - 알아서 불필요한 기능을 알아서 제거해준다! - 객체를 생성하는데 사용되는 키워드는 new이지만 생성된 객체를 메모리에서 해제시키는 키워드는 없는데, 그 이유는 JVM(Java Virtual Muchine)이 알아서 메모리를 관리해주기 때문이에요. (Java랑 비슷한 C언어에서는 new로 만들어진 객체들을 직접 삭제(객체 해제) 해주는 구문이 있어요.) public class MainClass { public static void main(String[] args) { Pen p; for(int i = 0; i
TIL | Java - Pakage : 패키지
·
Java
Pakage : 패키지 패키지는 폴더📂 라고 생각하면 좋아요. 파일들이 점점 많아지게 되면 파일을 찾기 힘들게 되기 때문에 비슷한 역할들끼리 모아서 사용해요. 외부에 있는 다른 패키지의 외부클래스를 사용하고 싶을 때는 Scanner 쓸때 상단에 import 넣어야 하는것처럼! import java.util.Scanner; 상단에 클래스의 전체 경로(패키지명 포함)를 지정해줘야 해요. 패키지 명 or 클래스 명 적고 자동 완성 단축키 누르고 엔터 누르면 import 자동 생성 돼요! import java.util.*; (*) 아스타링크를 적으면 전부 다~~ 라는 뜻이에요. " java 폴더안에 util 폴더안에 * 전부 다~~ 쓰겠다 " 사용해야 할 클래스가 많아지면 위와 같이 사용해요! 패키지 파일 보는..
TIL | Java - method : 메서드
·
Java
method : 메서드 (=함수) 반복되는 코드 블록에 이름을 붙여 놓은 것 (코드 재사용) 객체가 가져가야 할 기능을 구현하기 위해 만듦 가독성 좋음 메서드 선언 방법 Type Name(매개변수) { } *type : 돌려주는 값에 대한 타입 = return type 돌려줄 값이 없다면 void 적기 있다면 돌려주는 값의 타입 적기 *parameter, 매개변수 (입력변수) : 전달받는 값에 대한 타입 없다면 () 괄호 안에 아무것도 안 적고 두기 *return (돌려줄 리터럴) 리턴이 없으면 void로 하기 반환 값(type)과 리턴 데이터 타입을 맞춰주기 예제) 1 public class MethodEx01 { public static void main(String[] args) { //main은 ..
TIL | Java - Class : 클래스 & Object : 객체 생성
·
Java
클래스 생성 사용자 정의 클래스 따로 class를 생성하면 안에 main을 따로 정의하지 않는다. 클래스의 구성요소 멤버변수 (Member Variable) : 클래스 안에서 선언된 변수 ex) color, size, model 등등 자동 초기화된다. field 밖에서 사용 가능하다. field는 클래스의 속성과 상태를 나타낸다. field를 멤버변수로 나타낸다. 더보기 지역변수 (Local Variable) : 메서드 중괄호 안에서 만들어지는 변수. 반드시 초기화가 필요하다. 밖에서 값바꾸는거 불가능 더보기 매개변수 (parameter) : 지역변수의 일종, 메서드가 실행될 때 필요한 데이터를 외부로부터 받을 값에 대한 데이터 타입과 변수 메서드 (method) : 연산이나 동적인 기능 표현 생성자 (..
TIL | Java - OOP : 객체지향 언어, Class : 클래스 & Object : 객체
·
Java
객체지향 언어 : OOP = Object Oriented Programming ( = 프로그래밍 언어 + 객체지향개념(규칙)) 대형 프로그래밍의 경우 많은 기능을 수반하기에 많은 객체를 생성하여 프로그래밍하는 객체지향 프로그래밍을 지향한다. 코드의 재사용이 높고, 유지보수가 용이하고 중복 코드를 제거할 수 있다는 장점이 있다. 기존 절차적 프로그래밍에서 객체지향 프로그래밍으로 변화해갔다. 크게 4가지로 정리 캡슐화 상속 추상화 다형성 세분화하여 12가지로 정리 메서드 상속 오버라이딩 vs 오버로딩 this, super 접근제어자 은닉(getter, setter) 다형성(클래스형변환) static final abstract interface 예외처리 클래스 : Class 객체를 만들기 위한 틀, 대량생산을..
TIL 12 | Java - 반복문 (중첩 For문, 향상된 For문)
·
Java
중첩 For문 예제 01) //1~9 for(int i = 1; i