ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • OOP 예제
    JAVA 2022. 7. 19. 15:58

    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();
    	}
    }

     

    'JAVA' 카테고리의 다른 글

    ArrayLIst 예제  (0) 2022.07.19
    객체 배열 예제  (0) 2022.07.19
    메소드 예제  (0) 2022.07.19
    2차원배열 예제  (0) 2022.07.19
    배열 예제  (0) 2022.07.19

    댓글

Designed by Tistory.