목록프로그래밍/java (49)
쌓고 쌓다
함수(메소드) 오버 로딩 한 클래스 내에서 이름이 같은 함수를 여러 개 만들 수 있다. 조건이 아래와 같다. 1. 매개변수의 개수나 타입이 달라야 한다. 2. 이름이 같아야 한다. 함수의 이름이 같고 매개변수의 개수가 다른 경우 package com.company; class Test { public int Sum(int a, int b) { return a+b; } public int Sum(int a,int b,int c) { return a + b + c; } } public class Main{ public static void main(String[] args) { Test test = new Test(); System.out.println(test.Sum(5,6)); System.out.pri..
static void plusOne(int a) { a+=1; } public static void main(String[] args) { int num = 10; plusOne(num); System.out.print(num); } plusOne함수는 매개변수를 1을 더해주는 함수이다. 여기다 int num = 10; 으로 선언된 num 함수의 인자로 전달해준다면 아래와 같은 출력을 보인다. num에 1을 plusOne함수를 통해 1을 더헀지만 그대로 num은 10을 가지고 있다. 이는 아래의 경우라서 값의 증가는 이루어 지지 않았다. 매개변수로 기본 타입의 인자가 전달 되는 경우 매개변수로 기본 타입 ( byte, char, short, int, long, float, double, boolean )..
일단 먼저 아래의 코드를 한번 쭉 보자. class Person { public String name; public int age; public Person(String name, int age) { this.name = name; this.age = age; } public void ShowInformation() { System.out.println(name + "," + age); } } public class Main { public static void main(String[] args) { Person []person; person = new Person[5]; for(int i=0;i
this의 필요성 class Person { public String name; public int age; public Person(String name, int age) { name = name; // name = name ? age = age; // age = age ? } public void ShowInformation() { System.out.println(name + "," + age); } } public class Main { public static void main(String[] args) { Person Aperson = new Person("이름",1); Aperson.ShowInformation(); } } 실행 결과 위와 같이 Person의 생성자에 매개변수로 name과 a..
생성자 객체의 생성과 동시에 초기화를 위해 실행되는 메소드이다. 생성자 선언 방법 class Person { public String name; public int age; public Person() { } } 위와 같이 class 안에 클래스의 이름과 동일하고, 반환값,매개변수가 없는 메소드를 만들면 된다. 반환값이 있을경우 컴파일 에러를 일으킨다. 굳이 생성자를 작성하지 않아도 위와 같은 기본 생성자(디폴트 생성자)는 컴파일러가 알아서 작성해주고 우리눈에는 보이지 않게 해준다. public void Person() // 컴파일 에러 { //코드 } 예시 class Person { public String name; public int age; public Person() { name = "기본 이름..
클래스 클래스는 객체를 만들어 내기 위한 설계도, 틀이다. 객체 객체는 클래스를 이용해 생성된 것인데, 클래스가 붕어빵 틀이라면 객체는 틀을 이용해 만든 붕어빵이라고 할 수 있다. 객체를 클래스의 인스턴스(instance)라고 부른다. 사람이 클래스라면 옆집 이웃, 형, 부모님, 친구 등은 객체로 보며 각 객체마다 모두 동일하게 공유하는 속성이 있지만 각자 구분되는 나이, 이름 등 다른 값을 가지기도 한다. 클래스의 선언 public class Person { public String name; public int age; } 객체의 생성 Person person = new Person(); Person이라는 클래스를 이용해 person이라는 객체를 생성을 할 때 new연산자를 이용한다. C++과 달리 ..
저는 아래와 같은 반목문밖에 사용할줄 몰랐는데~ 자바를 공부하면서 for-each문이 존재하는걸 알았습니다~ int sum=0; int arr[]= {1,2,3,4,5}; for(int i=0;i
예외(Exception) 문법에 맞지 않는 코드는 컴파일러에 의해 걸러낼 수 있지만, 사용자의 잘못된 입력 또는 배열의 사용 등 예기치 못한 상황이 발생하는데 try-catch를 사용하여 제어를 할 수 있다. 예외 처리 방법 ( try - catch finally ) try { 예외가 발생 가능할만한 코드를 이곳에 배치한다. } catch(예외 타입){ 예외 타입과 일치하는 예외가 발생시 실행하는 코드 } // 이 아래의 finally 부분은 생략이 가능하다. finally{ 예외 발생 여부랑 상관 없이 무조건 실행하는 코드 } try 블록 안에서 코드를 실행하다 예외가 발생 즉시 해당하는 catch 블록으로 바로 이동한다. 예외 처리 예시 int arr[]= new int[5]; try{ arr[0] ..