☕ 자바 JAVA/☕ 클래스와 함수 Class & Method 30

[JAVA]상속 Inheritance

상속 Inheritance : 두 클래스를 부모와 자식으로 관계를 맺어주는 것. 기존의 클래스로 새로운 클래스를 작성하는 것(코드의 재사용). 2D 좌표를 표기하는 Point2D라는 이름의 class와 3D 좌표를 표기하는 Point3D라는 class가 있을 경우에 Point2D를 상속 받은 Point3D 클래스에서 x,y,z사용할 수 있습니다. class 명에 extend가 붙기 때문에.. 응용해보면..

[JAVA]생성자 this()와 참조변수 this

똑같이 생겼지만 ()가 붙느냐의 차이로 전혀 다른 역할을 합니다 생성자 this () : 같은 class의 다른 생성자를 호출 시 사용 class Car2 { String color; String gearType; int door; Car2() { /* 코드의 중복을 제거 color = "white"; gearType = "quto"; door = 4; 이렇게 쓰는 대신 this를 사용해 아래처럼 쓸 수 있다. */ this("white", "auto", 4); } Car2(String color) { /* * 다른 생성자 호출 시 첫 줄에서만 사용해야 한다. * color = "white"; -> X * * 같은 클래스 안의 생성자 호출시 class이름 대신 this를 사용해야 한다. * Car2(co..

[JAVA]생성자 Constructor

인스턴스가 생성될 때마다 호출되는 인스턴스 초기화 메서드 규칙 이름이 class 이름과 같아야 한다 리턴값이 없다. 그래도 void 안 붙임 모든 class는 반드시 생성자를 가진다(안 적으면 complier가 알아서 만들어줌) 기본 생성자 Default Constructor 매개변수parameter가 없는 생성자이다. 생성자가 하나도 없을 때 complier가 자동으로 추가한다. 생성자 오버로딩 기본생성자가 필수인 이유는 new로 호출할 때마다 초기화한 class를 참조변수에 새로운 주소값에 담기위함이겠죠. 호출 시 원하는 식으로 사용하려면 매개변수parameter를 담아 호출하려면 생성자 오버로딩이 필요합니다. 매개변수가 있는 생성자 작성시 기본생성자 필수기재 참조 https://youtu.be/HX..

[JAVA]오버로딩 Overloading

한 클래스 안에 같은 이름의 method를 여러 개 정의 매개변수parameter는 달라도 같은 의미의 기능을 수행한다 오버로딩이 성립하기 위한 조건 method 이름이 같아야 한다 매개변수의 개수 또는 타입이 달라야 한다 반환 타입은 영향없다 ※ 주의 long add(int a, long b) {return a+b;} long add(long a, int b) {return a+b;} 위 method를 호출시 long(3, 3)과 같이 사용하면 Compiler가 어떤 걸 호출할 지 판단하지 못해 error 발생 흔히 쓰는 System.out.print()함수는 BlackBox이기 때문에 우리가 코드를 알 필요 없지만 JRE library를 보면 우리가 어떤 parameter를 보내도 편하게 사용할 수 ..

[JAVA]Method의 Return문이란

for (int i = 0; i < 5; i++) { if (i == 3) return; System.out.println(i); } return은 반환할 값이 있을때만 사용하지 않습니다 return;이라고 적으면 그곳에서 함수는 실행을 종료합니다 물론 js도 마찬가지입니다. test1 → 0 1 2 → test2 이 순서로 출력되었습니다. return; 실행중인 메서드를 종료하고 호출한 곳으로 돌아가기 때문입니다. return이 있는데도 int형 return 값을 적으라고 적혀있습니다. 조건문을 사용할 경우 어떤 조건이든 return 값이 있어야 합니다 참조 https://youtu.be/CiEYqbwgqZ0?si=WydBNWucOnTQbvNA

[JAVA]Method 메서드란(+ 함수와의 차이, BlackBox란)

Method란? 작업단위로) 문장들을 묶어 놓은 것 값(입력)을 받아 처리하거나 결과를 반환(출력)할 수 있다. Method와 Function(함수)의 차이 Method는 객체지향 개념에서 함수를 지칭한다. Method는 Class안에 있어야만 하는 제약성을 가지지만, 함수는 Class에 독립적일 수 있다. * 구분하고 단어를 쓰는 경우는 별로 없다. Method = 선언부 + 구현부 반환타입 Mehod이름(매개변수 Parameter) {실행코드} 선언부 : 반환타입 Mehod이름(매개변수 Parameter) Method에서 return 반환할타입 Method이름과 매개변수 Parameter : Method호출시 넘겨받는 값을 지정합니다. 구현부 : {실행코드} Method 호출 시 수행될 코드를 작성합..

[JAVA]클래스 Class 정의

참조 : https://youtu.be/ML4CO32-bts 변수는 하나의 타입에 하나의 데이터만 저장할 수 있고 int number = 0; 배열은 하나의 타입에 여러 데이터를 저장할 수 있습니다. int[] numberArr = {0, 1, 2}; List numberList = new ArrayList(); ← generic으로 Object를 지정하면 여러타입을 받을 수 있지만 비권장합니다. 어떻게 하면 좀 더 편하게 사용할까 하다가 명령문과 변수들을 하나의 class에 담아서 사용할 수 있게 만들어서 Class는 설계도 말고도 class : 데이터와 함수의 집합 이라고도 합니다. 또 변수만 모아서 사용하는 경우가 바로 DTO 같은 경우가 있습니다. 변수들만 모아진 class를 정의하자면 class..

[JAVA]한 파일에 여러 클래스 작성하기

출처 : https://youtu.be/hTHFeUTyIEo 위 영상을 보고 정리하였습니다. 앞서 말하자면 하나의 .class 소스파일 안에는 하나의 class만 작성하는 것이 바람직합니다 그럼에도 알고가는 이유는 하나의 .class 파일 안에 여러 클래스를 적을 수 있다는 사실이 신선하고 알아두면 좋은 기본개념이라는 겁니다. 클래스를 생성하면 이런 형태로 자동으로 만들어집니다. 안에 main()함수를 적고 하면 클래스가 실행되죠. 소스파일명과 동일한 class명을 실행하기 때문입니다 만약에 다른 이름으로 바꿔서 실행하면 해당 클래스를 읽을 수 없습니다. main class를 변경하고 싶다면 Run Configuration에서 변경할 수 있습니다. 다시 돌아가서 기본적으로 .class 소스파일을 생성하면..

[JAVA]클래스 Class 개념

클래스는 설계도와 같다 풀어서 얘기하자면 하나의 웹사이트를 만든다면 로그인/게시판/관리자 등의 페이지를 만들겠죠. 그럼 로그인/게시판/관리자 page를 관리하기 위한 각각의 .class를 만듭니다. 만들어진 .class는 로그인 설계도와 같습니다. login.class 파일 안에는 userLogin(), userLogout() 등의 함수가 모여있겠습니다. 위는 .class를 잘 이해하기 위한 비유적인 표현이고 정의 : 객체를 정의해 놓은 것 용도 : 객체를 생성하는 데 사용 는 이렇습니다.

[JAVA]클래스와 객체(with 기능, 속성)

참조 - https://youtu.be/jnhvQr1iDRE 클래스 Class : 객체를 정의해 놓은 것. 설계도. 객체 Object : Instance. 실제로 존재하는 사물 또는 개념. (속성과 기능으로 구성) 속성 - 변수. 기능 - 메서드. Class Speaker { // 속성 = 변수 String maker;// 제조사 boolean power;// 전원 int bolume; // 기능 = 메서드 void poser {power = !power;} void bolumeUp() {bolume++;} void bolumeDown() {bolume--;} } 처음 개발을 시작할 때 웹사이트 여러페이지의 모든 기능을 한 Class에 담아도 되지 않은가? 생각하는 경우가 있는데 웹사이트의 구성은 적어도..