본문 바로가기

Java19

[Java] 상속과 메소드 오버라이딩(Method Overriding), super 상속은 재사용되는 코드를 하나의 클래스로 따로 묶어서 사용할수있도록 한다. 상속받을 클래스를 Parent라는 이름으로 만들어보자 public class Parent { String name; int age; private int money; Parent(){ System.out.println("Parent 생성자 호출됨"); } void printParentInfo() { System.out.println("name : "+name); System.out.println("age : "+age); } public int getMoney() { return money; } public void setMoney(int money) { this.money = money; } } 상속할 클래스를 Child 라는 .. 2022. 7. 4.
[Java] 멤버변수 저장하기, 가져오기 : setter, getter 메인에서 클래스의 멤버변수를 저장하고 가져오고 싶을때는 setter, getter를 이용하면된다. 먼저 멤버변수를 저장하는 방법은 일반적으로 3가지 방법이 있다. Member m1 = new Member(); // 1. 다이렉트로 저장 m1.name = "Mike"; m1.phone = "010-12345"; // 2. 함수로 저장 m1.setMember("Mike", "010-12345"); // 3. 생성자로 만드는 방법 Member m2 = new Member("Mike", "010-12345"); System.out.println(m1.name); ------------------멤버클래스의 함수------------------ public void setMember(String name, Str.. 2022. 7. 4.
[Java] 패키지, 접근제어자: public, private, protected 패키지는 폴더 혹은 디렉토리와 같은 개념이다. 패키지를 하나 만들어보자. # 패키지 이름의 첫글자는 소문자로 작성해야 한다. myPack 안에 test라는 이름의 패키지 생성하자. # 생성하려고 하는 위치(패키지) 뒤에 온점 ' . '을 찍고 생성하려는 패키지의 이름을 쓰면된다. myPack 패키지 안에 test패키지가 생성된다. 만들어진 test패키지에 Member 클래스를 만들었다. package myPack.test; public class Member { String name; String num; } # 패키지가 두개이상에서 다른 폴더에서 클래스가 있으면 package 키워드로 위치가 어딘지 알려줘야 한다. # 보통은 툴이 자동으로 알려준다. 메인클래스에서 멤버클래스의 생성자를 호출해본다. pa.. 2022. 7. 4.
[Java] 생성자와 생성자의 메소드 오버로딩 클래스의 멤버변수에 데이터를 세팅하는 방법은 세가지가 있다. 다이렉트로 저장 함수로 저장 생성자를 호출할때 저장 (메모리에 영역을 확보하고 바로 멤버변수에 데이터 세팅) 여기서 생성자는 메모리의 heap 영역에 클래스를 만들면서 작업을 할수있게하는 함수다. # 메인에서 클래스를 사용할수있게 하는것 주소록 서비스를 위한 멤버데이터를 저장하는 클래스를 만들었다. public class Member { String name; String tel; String address; void print() { System.out.println("Name: "+name+" , Tel: "+tel); System.out.println("Address: "+address); } void setMember(String nam.. 2022. 7. 1.
[Java] 메소드 오버로딩(Method Overloading) 두개의 정수를 더해주는 함수들을 만들어보자 int add(int x, int y) { return x + y; } float addf(float x, float y){ return x + y; } double addd(double x, double y){ return x + y; } String adds(String x, String y){ return x + y; } # 각기 다른 데이터타입에 따라 여러 이름의 함수들을 만들었다. 메인 클래스로 함수들을 실행해보자. // 클래스로 변수만든다 (객체 생성) Add a = new Add(); int result = a.add(3, 5); System.out.println(result); // 두개의 float을 더하는 함수를 만들자 float result2.. 2022. 7. 1.
[Java] 메모리 구성과 Static 멀티프로세스 하드디스크에 있는 프로그램을 사용하려고 할때 메모리에 올린다. 그리고 이렇게 메모리에 올린 상태를 프로세스라고 한다. 컴퓨터는 메모리에 프로세스를 여러개 올리고 CPU가 여러개의 프로세스를 번갈아가며 처리하는데 매우 빠른 속도로 처리하기에 동시에 처리하는것처럼 느껴진다. 메모리는 총 4가지 영역으로 구성되어 있다. # 함수는 stack에 생긴다. # 메인에서 new로 클래스를 메모리에 올릴때 변수가 heap에 생성된다. # 그리고 stack의 함수가 heap에 있는 변수를 가리킨다. 점의 좌표를 가지고있는 클래스를 만든다. public class Point { // 클래스의 멤버변수 int x; int y; int print() { // 로컬변수 int i = 0; System.out.pri.. 2022. 7. 1.
[Java] 클래스(Class), 객체(instance, Object) 클래스는 객체들의 공통점을 찾아내서 하나의 틀로 만든것이다. 클래스 구조 # 클래스 안에있는 변수를 멤버 변수라고 한다. # 클래스 안에있는 함수를 멤버 메소드라고 한다. 이전에 함수를 만들고 호출하기전에 Func f = new Func( ) 를 먼저 작성했는데 이것이 바로 객체를 선언한것이다. # 클래스를 메모리에 올려준 상태를 객체라고 한다. 전자제품들을 나타내는 클래스를 만들어보자. # 클래스는 DB의 테이블을 만든다는 느낌으로 만들면 쉽게 만들수있다. 먼저 Product 라는 이름의 클래스를 만들어보자. public class Product { int num; String name; } 그 후, ProductMain 이라는 이름의 메인함수가 포함된 클래스를 만들자. public class Prod.. 2022. 7. 1.
[Java] 함수 자바에서의 함수생성 식의 구조를 확인해보자. # 함수타입, 함수명, 파라미터, 반환값으로 이루어져있다. # return이 없는 함수도 있는데 이때 함수타입에 void를 입력한다. 함수를 만들때는 메인함수 밖에서 만들어야 한다. public class Func { int add(int a, int b) { int result = a + b; return result; } public static void main(String[] args) { // TODO Auto-generated method stub } } # 단 클래스 안에서 만든다. new를 사용해서 함수를 호출해보자. public static void main(String[] args) { // TODO Auto-generated method s.. 2022. 7. 1.