java

-
1. 콘솔 입출력 자바 코드에서 사용자가 입력한 문자열을 얻기 위해서는 자바의 System.in 을 사용한다. (read()메서드는 입력스트림으로 부터 한개의 문자를 읽고 리턴) import java.io.IOException; import java.io.InputStream; public class Sample { public static void main(String[] args) throws IOException { // InputStream으로 부터 값을 읽어들일 때는 IOException이 발생할 수 있기 때문에 예외처리를 해야 하는데 throws로 그 예외처리를 뒤로 미루게 한 것 InputStream in = System.in; int a; a = in.read(); // InputStrea..
입출력1. 콘솔 입출력 자바 코드에서 사용자가 입력한 문자열을 얻기 위해서는 자바의 System.in 을 사용한다. (read()메서드는 입력스트림으로 부터 한개의 문자를 읽고 리턴) import java.io.IOException; import java.io.InputStream; public class Sample { public static void main(String[] args) throws IOException { // InputStream으로 부터 값을 읽어들일 때는 IOException이 발생할 수 있기 때문에 예외처리를 해야 하는데 throws로 그 예외처리를 뒤로 미루게 한 것 InputStream in = System.in; int a; a = in.read(); // InputStrea..
2023.01.08 -
- 인터페이스란 클래스의 형태를 규정하는 것 (+ 인터페이스 작성시 대문자로 시작하고 형용사를 사용한다.) 즉, 객체를 어떻게 구성해야 하는지 정리한 설계도이며 그 역할로는 1. 객체의 교환성(또는 다형성)을 높여주며, 2. 인터페이스 변수에 인터페이스가 구현된 서로 다른 구현 객체를 할당해서 사용이 가능하고, 3. 객체가 인터페이스를 사용하면, 인터페이스 메서드를 반드시 구현해야 하는 제약을 한다 " 자식 클래스가 여러 부모 클래스를 상속받을 수 있다면, 다양한 동작을 수행할 수 있다는 장점을 가지게 될 것입니다. 하지만 클래스를 이용하여 다중 상속을 할 경우 메소드 출처의 모호성 등 여러 가지 문제가 발생할 수 있어 자바에서는 클래스를 통한 다중 상속은 지원하지 않습니다. 하지만 다중 상속의 이점을 ..
Interface- 인터페이스란 클래스의 형태를 규정하는 것 (+ 인터페이스 작성시 대문자로 시작하고 형용사를 사용한다.) 즉, 객체를 어떻게 구성해야 하는지 정리한 설계도이며 그 역할로는 1. 객체의 교환성(또는 다형성)을 높여주며, 2. 인터페이스 변수에 인터페이스가 구현된 서로 다른 구현 객체를 할당해서 사용이 가능하고, 3. 객체가 인터페이스를 사용하면, 인터페이스 메서드를 반드시 구현해야 하는 제약을 한다 " 자식 클래스가 여러 부모 클래스를 상속받을 수 있다면, 다양한 동작을 수행할 수 있다는 장점을 가지게 될 것입니다. 하지만 클래스를 이용하여 다중 상속을 할 경우 메소드 출처의 모호성 등 여러 가지 문제가 발생할 수 있어 자바에서는 클래스를 통한 다중 상속은 지원하지 않습니다. 하지만 다중 상속의 이점을 ..
2023.01.08 -
제어자(modifier)란 클래스와 클래스 멤버의 선언 시 사용하여 부가적인 의미를 부여하는 키워드를 의미한다. 자바에서 제어자는 접근 제어자(access modifier)와 기타 제어자로 구분할 수 있다. 기타 제어자는 경우에 따라 여러 개를 함께 사용할 수도 있지만, 접근 제어자를 두 개 이상 같이 사용할 수는 없다. 접근 제어자와 기타 제어자는 조합에 따라 함께 사용할 수 있다. 객체 지향에서 정보 은닉(data hiding)이란 개념이 있는데, 사용자가 굳이 알 필요가 없는 정보는 사용자로부터 숨겨야 한다는 뜻이다. (이렇게 함으로써 사용자는 언제나 최소한의 정보만으로 프로그램을 손쉽게 사용 가능) 자바에서는 이러한 정보 은닉을 위해 접근 제어자(access modifier)라는 기능을 제공 접근..
접근 제어자(access level modifier)제어자(modifier)란 클래스와 클래스 멤버의 선언 시 사용하여 부가적인 의미를 부여하는 키워드를 의미한다. 자바에서 제어자는 접근 제어자(access modifier)와 기타 제어자로 구분할 수 있다. 기타 제어자는 경우에 따라 여러 개를 함께 사용할 수도 있지만, 접근 제어자를 두 개 이상 같이 사용할 수는 없다. 접근 제어자와 기타 제어자는 조합에 따라 함께 사용할 수 있다. 객체 지향에서 정보 은닉(data hiding)이란 개념이 있는데, 사용자가 굳이 알 필요가 없는 정보는 사용자로부터 숨겨야 한다는 뜻이다. (이렇게 함으로써 사용자는 언제나 최소한의 정보만으로 프로그램을 손쉽게 사용 가능) 자바에서는 이러한 정보 은닉을 위해 접근 제어자(access modifier)라는 기능을 제공 접근..
2023.01.08 -
오버라이딩(overriding): 부모 클래스의 메소드를 재정의 하는것 오버로딩(overloading): 동일 클래스내의 동일 메소드에 매개변수(parameter) 등을 추가(과적), 상속과 관련 없음(부모 자식 어디서든지 가능) class Cal{ public int sum(int v1,int v2){ return this.v1+v2; } } class Cal3 extends Cal{ public int minus(int v1, int v2){ return v1-v2; } // 오버라이딩 public int sum(int v1, int v2){ System.out.println("cal3!!!") return v1+v2; } } public class InheritanceApp { public stat..
상속오버라이딩(overriding): 부모 클래스의 메소드를 재정의 하는것 오버로딩(overloading): 동일 클래스내의 동일 메소드에 매개변수(parameter) 등을 추가(과적), 상속과 관련 없음(부모 자식 어디서든지 가능) class Cal{ public int sum(int v1,int v2){ return this.v1+v2; } } class Cal3 extends Cal{ public int minus(int v1, int v2){ return v1-v2; } // 오버라이딩 public int sum(int v1, int v2){ System.out.println("cal3!!!") return v1+v2; } } public class InheritanceApp { public stat..
2023.01.08 -
생성자함수(생성자메소드): 인스턴스명(or클래스명) 과 이름이 같은 메소드 this. : 생성한 인스턴스를 가리키는 특수한 용어 public class MyOOP { public static void main(String[] args) { Print p1 = new Print("----"); p1.A(); p1.A(); p1.B(); p1.B(); Print p2 = new Print("****"); p2.A(); p2.A(); p2.B(); p2.B(); p1.A(); p2.A(); p1.A(); p2.A(); } } class Print{ public String delemeter = ""; public Print(String delemeter){ // 클래스와 같은 이름의 메소드를 정의하면 그것이 ..
생성자와 this (기초개념)생성자함수(생성자메소드): 인스턴스명(or클래스명) 과 이름이 같은 메소드 this. : 생성한 인스턴스를 가리키는 특수한 용어 public class MyOOP { public static void main(String[] args) { Print p1 = new Print("----"); p1.A(); p1.A(); p1.B(); p1.B(); Print p2 = new Print("****"); p2.A(); p2.A(); p2.B(); p2.B(); p1.A(); p2.A(); p1.A(); p2.A(); } } class Print{ public String delemeter = ""; public Print(String delemeter){ // 클래스와 같은 이름의 메소드를 정의하면 그것이 ..
2023.01.08 -
Exception e 코드에서 e는 변수(이름 수정 가능) Exception은 변수의 데이터 타입(변경 불가) catch 문의 print문에 브레이크 포인트를 걸고 디버거를 실행시키면 자세한 예외내용을 볼 수 있음 또는 e(변수명).getMessage() 메서드를 이용해서 확인 가능함 printStackTrace() 메서드를 통해 프로그램 출력 마지막 부분에 에러 내용 전체를 출력 가능 위 메서드와 같은 에러 메세지가 사용자에게 보여지게 하면(특히나 서버 관련 일에서) 그 메세지에서 보안적인 사고를 낼 수 있는 단서를 제공할 수 있어서 관리자들에게만 보여지게 해야됨(로깅 시스템 이용 통해 해결 가능) 부모(조상) Exception 은 자식 Exception 을 다 포괄함, catch문에서도 자식/부모 관..
ExceptionException e 코드에서 e는 변수(이름 수정 가능) Exception은 변수의 데이터 타입(변경 불가) catch 문의 print문에 브레이크 포인트를 걸고 디버거를 실행시키면 자세한 예외내용을 볼 수 있음 또는 e(변수명).getMessage() 메서드를 이용해서 확인 가능함 printStackTrace() 메서드를 통해 프로그램 출력 마지막 부분에 에러 내용 전체를 출력 가능 위 메서드와 같은 에러 메세지가 사용자에게 보여지게 하면(특히나 서버 관련 일에서) 그 메세지에서 보안적인 사고를 낼 수 있는 단서를 제공할 수 있어서 관리자들에게만 보여지게 해야됨(로깅 시스템 이용 통해 해결 가능) 부모(조상) Exception 은 자식 Exception 을 다 포괄함, catch문에서도 자식/부모 관..
2022.12.22 -
타입(반환값 여부) 추가예정
함수의 타입(추가 예정)타입(반환값 여부) 추가예정
2022.12.22 -
메서드(자바에서는 클래스 내의 함수를 칭함)의 목적은 코드를 간결하고 깔끔하게 정리하는 것이다. 여러 상태의 클래스가 동시에 필요할 때는 클래스 앞에 new를 붙여서 클래스의 복제본을 만들어서 서로 다른 상태를 유지할 수 있으며 dlr이것을 인스턴스(클래스의 복제본)라 부름 클래스의 변수를 바꾸면 모든 인스턴스의 변수의 값이 바뀜, 인스턴스 사용하는 클래스의 변수의 값을 바꿀 수 있는데 그렇게 하면 클래스 변수의 값이 변경되어 다른 인스턴스에서도 그 클래스 변수의 값이 변경됨 class Foo{ public static String classVar = "I class var"; public String instanceVar = "I instance var"; public static void classM..
클래스 메서드와 인스턴스 메서드메서드(자바에서는 클래스 내의 함수를 칭함)의 목적은 코드를 간결하고 깔끔하게 정리하는 것이다. 여러 상태의 클래스가 동시에 필요할 때는 클래스 앞에 new를 붙여서 클래스의 복제본을 만들어서 서로 다른 상태를 유지할 수 있으며 dlr이것을 인스턴스(클래스의 복제본)라 부름 클래스의 변수를 바꾸면 모든 인스턴스의 변수의 값이 바뀜, 인스턴스 사용하는 클래스의 변수의 값을 바꿀 수 있는데 그렇게 하면 클래스 변수의 값이 변경되어 다른 인스턴스에서도 그 클래스 변수의 값이 변경됨 class Foo{ public static String classVar = "I class var"; public String instanceVar = "I instance var"; public static void classM..
2022.12.20