negno
개발Log
negno
전체 방문자
오늘
어제
  • 분류 전체보기
    • Project
      • Mini_Project
      • PTSD_Project
    • Algorithm
      • Elice
      • JavaFestival
    • BACK-END
      • C Programming
      • JAVA
      • JSP Servlet
      • Python
      • Spring
      • Machine Learning
    • FRONT-END
      • HTML CSS
      • JavaScript
    • Application
      • Android
    • DataBase
      • Oracle
      • MySql
    • IoT
      • Arduino
      • Raspberry pi

티스토리

hELLO · Designed By 정상우.
negno

개발Log

JAVA OOP 예제
BACK-END/JAVA

JAVA OOP 예제

2022. 7. 13. 20:45

EX_01. BankBook

1-1. BankBook

public class BankBook {
	//통장설계도면 만들기
	
	//필드
	//private >> 외부 클래스에서 접근이 불가능하게 하는 접근제한자
	private int money;
	//메소드
	public void deposit(int money) {
		this.money += money;
		//this 키워드
		//-현재 설계도면(나 자신)을 지칭하는 키워드
		//인스턴스 자신을 가리키는 키워드 
	}
	public void withdraw(int money) {
		this.money -= money;
	}
	public void showMoney() {
		
		System.out.println("잔액은"+money+"원 입니다.");
	}
}

1-2. BankBookMain

public class BankBookMain {

	public static void main(String[] args) {

		//통장 생성
		BankBook b = new BankBook();
		
		b.deposit(1500);
		b.showMoney();
		b.deposit(700);
		b.showMoney();
		b.withdraw(500);
		b.showMoney();
	}
}

EX_02. 학생관리 프로그램

2-1. Student

package 학생관리시스템;

public class Student {
	
	private String name;
	private String number;
	private int age;
	private int scoreJava;
	private int scoreWeb;
	private int scoreAndroid;
	
	
	//생성자 만들기
	//alt + shift + s
	public Student(String name, String number, int age, 
			int scoreJava, int scoreWeb, int scoreAndroid) {
		this.name = name;
		this.number = number;
		this.age = age;
		this.scoreJava = scoreJava;
		this.scoreWeb = scoreWeb;
		this.scoreAndroid = scoreAndroid;
	}

//	public Student() {
//
//	}
	// 메소드 오버로딩(method overloading)
	// - 메소드의 매개변수 개수, 타입 다르게 하면서 중복으로 정의하는 것(동일한 이름을 부여)
	// 접근제한자
	// public : 내부/외부 어디서든 접근이 가능한 기능
	//private : 현재 클래스 내에서만 접근이 가능
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		//클래스 name에 받아온 name을 저장
		this.name =name;
	}
	public String getNumber() {
		return number;
	}
	public void setNumber(String number) {
		this.number = number;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public int getScoreJava() {
		return scoreJava;
	}
	public void setScoreJava(int scoreJava) {
		this.scoreJava = scoreJava;
	}
	public int getScoreWeb() {
		return scoreWeb;
	}
	public void setScoreWeb(int scoreWeb) {
		this.scoreWeb = scoreWeb;
	}
	public int getSocoreAndroid() {
		return scoreAndroid;
	}
	public void setSocoreAndroid(int scoreAndroid) {
		this.scoreAndroid = scoreAndroid;
	}
	
	//기능
	//show()
	public void showStudent() {
		System.out.println(name+"님 안녕하세요.");
		System.out.println("["+number+" "+age+"살]");
		System.out.println(name+"님의 Java 점수는"+scoreJava+"입니다.");
		System.out.println(name+"님의 Web 점수는"+scoreWeb+"입니다.");
		System.out.println(name+"님의 Android 점수는"+scoreAndroid+"입니다.");
	}
}

2-2. StudentMain

package 학생관리시스템;

public class Main {

	public static void main(String[] args) {

		Student s1 = new Student("홍길동", "20220324", 26, 90, 66, 11);
		Student s2 = new Student("홍길은", "20200878", 20,50,99,77);
		//생성자(constructor)
		// - 객체를 생성하는 순간(new) 실행되는 메소드
		// 1 - 매개변수를 아무것도 받지 않는 생성자 > 기본 생성자
		// - 생략이 가능
		// 2 - 생성자는 매소드다.
		// 3 - 클래스의 이름과 생성자명은 일치한다.
		// 4 - 리턴타입을 작성하지 않는다.(void x)
		// 5 - 기본생성자는 새로운 생성자를 만들면 덮어씌워진다
		//     (오버로딩)
		
		
		System.out.println(s1.getName());
		System.out.println(s2.getName());
		System.out.println(s1.getNumber());
		s1.showStudent();
		System.out.println("==============================");
		s2.showStudent();
	}
}

저작자표시 비영리 변경금지 (새창열림)

'BACK-END > JAVA' 카테고리의 다른 글

Java ArrayList 예제  (0) 2022.07.19
Java 객체 배열 예제  (0) 2022.07.19
JAVA 메소드 예제  (0) 2022.07.13
JAVA 2차원배열 예제  (0) 2022.07.13
JAVA 배열 예제  (0) 2022.07.13
    negno
    negno

    티스토리툴바