상세 컨텐츠

본문 제목

Java I/O , class -3

개발생활/Java

by 한국인맛집 2021. 9. 26. 22:11

본문

반응형

String 문자열 타입

자바는 String 문자열 타입을 제공합니다.

 

C/C++에선 문자열을 표현하기위해선 배열을 사용해야 했지만 (STL을 사용 하지 않는다면)

java에선 String 타입을 제공합니다.

 

String 타입은 문자열을 저장하고, 문자열 자체를 조정하는 메서드(함수)들이 존재하여 편리하게 사용할수 있습니다.

 

String name = "한국인";

String man = name + " 입니다";

 

 

함수

함수는 입력이 들어오면 출력이 나옵니다.

하지만 프로그래밍에선 함수는 예외 상황이 있습니다. 입력이 없는데 출력을 하는경우, 입력이 있지만 출력을 하지않는경우, 2가지 경우가 있으나 자판기로 외우면 쉽게 이해할수 있습니다!

 

자바에서 함수의 기본 형태는 다음과 같습니다.

 

<리턴 타입> 함수이름 (<매개변수 있을수도 있고 없을수도있음>){
    
    
}

 

1. 리턴타입

 

말그대로 자판기를 떠올려주세요. 결과물이 나오는 형태입니다. 정수타입으로 결과값을 받고 싶다면 int 형을 사용하면되고.

 

클래스 형태를 받고 싶다면 클래스로 해도됩니다. 아니면아무런 출력을 하지 않길원하면 void형태로 해도됩니다.

 

 

2. 매개변수

 

매개변수는 파라미터(Parameter)라고도 합니다. 

함수의 입력부분을 말합니다. 입력이 필요할경우 파라미터를 추가해주면됩니다. 리스트, 배열, 타입, 클래스 모든 타입이 들어올수 있습니다. 

 

 

사용의 예)

 

public class Main{
    private int orgNumber = 0;
    
    public static void main(String[] args){
        
        int a = 0;
        
         a = Sum(20,30);
         SumOrigin(a,30);
        
        System.out.println("a ==== > " + a);
        System.out.println("orgNumber ==== > " + orgNumber);
    }
    
    private int Sum(int a, int b){
       return a+b;
    }
    
    private void SumOrigin(int a, int b){
      orgNumber = a+b;
    }
}

 

 

 

Input 

 

자바에서 사용자 입력을 받기위해선 Scanner 패키지를 추가해줘야합니다.

 

package ?

패키지란 클래스에 구성된 메소드들을 모아놓은것 쉽게 말해 만들어놓은 클래스의 함수를 모아놓은것으로 생각하면 쉽습니다.

 

패키지를 추가하기위해 improt 키워드를 사용합니다.

 

import java.util.Scanner;

 

 

자바의 사용자 입력은 스트링 형식과 정수형 으로 받는 방법이 다릅니다.

 

문자열 입력

String strInput = sc.nextLine();

 

 

정수형 입력

int integerInput = sc.nextInt();

 

 

사용의 예)

import java.util.Scanner;

public class Main{
    
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
  
        // 문자열로 입력
        String strInput = sc.nextLine();
        // 정수형 입력
        int iInput = sc.nextInt();
  
       System.out.println("strInput => " + strInput);    
       System.out.println("integer Input => " + iInput);
    }
    

}

 

 

 

 

 


클래스 (Class)

 

객체지향 프로그래밍에서 가장 중요한 내용인 클래스입니다. 

 

클래스는 쉽게 이해하기 위해 설계도로 이해하시면 됩니다.

 

그런데 설계도만 가지고는 아무것도 할수 없습니다.

 

그래서 설계도를 실체화하는것을 객체화 ( 인스턴스 화 )라고 합니다.

 

객체화 와 인스턴스화 를 반드시 이해하셔야합니다.

 

클래스의 기본구성은 다음과 같습니다.

 

<접근제한자>  class  <클래스 이름> {
   
}

 

1. 접근 제한자 

 

접근제한자란 말 그대로 접근을 제한 해주는 키워드입니다. 

 

예를들어 후라이드 치킨을 사먹고 싶어 매장에 치킨한마리를 주문하려고할때 메뉴에 닭이 먹고자란 사료나 닭이 어떤 환경으로 자라왔는지 치킨을 튀길때 사용되는 소스의 원산지에 대한 내용은 적혀있지 않습니다. 왜냐하면 궁금하면 물어볼수도 있지만. 일반적인 상황에 필요없는 내용이고. 알 필요가 없기 때문입니다.

 

그래서 프로그래머에게 접근제한을 두어 다른 클래스에서 무분별하게 접근할수 없도록 하는 키워드입니다.

 

접근제한자는 크게 3가지로 구성되어있습니다.

 

public : 어디서든 접근이 가능

private: 해당 클래스 에서만 접근이가능

protected : 상속받은 경우, 해당클래스에서만 접근이 가능.

 

 

접근제한자라는말이 어렵고 처음듣기때문에 생소할수있는 내용입니다. 상속을 여러분이 배우고 응용해본다면 이해가 됩니다.

 

2. 메서드 (Method)

 

메소드는 클래스 내부에 함수들을 메서드 , 메소드 라고 이해하시면 됩니다. 객체지향프로그래밍을 하다보면 메서드, 메소드라는표현을 많이 사용합니다. 클래스 내부 함수 라고도 표현하지만 객체지향 프로그래밍을 하다보면서 익숙해 지시면 됩니다.

 

클래스의 예시

public class Human{
   
   private int age;
   private String name;
   
   public Human(int number, String name){
      this.age = number;
      this.name = name;
   }
   
   public void PrintHumanInfo(){
      System.out.println("이사람의 이름은 = " +name + "이고, "+ age + "살 입니다");
   }
   
}

public class Main{
   public static void Main(String[] args){
       Human tom = new Human(25,"토마스");
       Human minsu = new Human(23,"김민수");
       
       tom.PrintHumanInfo();
       minsu.PrintHumanInfo();
   }
}

 

 

 

 

 

치킨 클래스

-  Main.java



public class Main {
	public static void main(String[] args) {
		
		Chiken c = new Chiken();
		Chiken aaa = new Chiken();
		Chiken s = new Chiken("교촌 " , 1000);
	}
}

 

 

 

 

- Chiken.java

public class Chiken {
	private String brand;
	private int price;
	
	// 
	public Chiken(String brand, int price) {
		this.brand = brand;
		this.price = price;
	}
	
	public Chiken() {
		
	}
	
	
	
	public Chiken(String n , String a , int s, int b) {
		
	}
	
	public String GetBrand(){
		return this.brand;
	}
	
	public int GetPrice() {
		return this.price;
	}
	
	public void SetBrand(String b) {
		this.brand = b;
	}
	
	public void SetPrice(int p) {
		this.price = p;
	}
	
	
	public void PrintChicken() {
		System.out.println("이치킨의 브랜드는 == > "+ brand + "가격 >>  "+price );
	}

 

 

반응형

'개발생활 > Java' 카테고리의 다른 글

Java Study - Generic & Exception  (0) 2021.11.01
Java Interface / 추상클래스 - Class 5  (0) 2021.10.19
Java Inheritance class -4  (0) 2021.10.11
Java Variable, Loop, Flow Control -2  (0) 2021.08.29
Java 개발환경 설정-1  (0) 2021.08.29
자바 기본기-1  (0) 2020.04.12

관련글 더보기