반응형

프로그래밍/Java 공부 36

접근제어자(public, protected, default, private)

자바에서는 접근 제어자를 통해서 각 API의 접근 권한을 제한할 수 있다. 아래는 접근 제어자의 접근 범위를 나타낸 것 public > protected > default(package) > private public : 가장 넓은 범위로 패키지 제한없이 모두 접근 가능한 상태 protected : 같은 패키지내에서 접근 가능, 다른 패키지에서는 상속이나 자식 클래스, 인터페이스라면 접근 가능 default : 아무런 접근 제한을 두지 않을 때 = 같은 패키지내에서는 접근 가능, 외부 패키지에서는 접근 불가 private : 자기 자신 클래스에서만 접근 가능, 그외 모두 막음 주의 : 클래스 앞에 붙는 접근제어자는 public, default만 있다. 번외 : 클래스를 만들 때 어떤 클래스에 public..

인스턴스 멤버, 생성자(Constructor), 정적 멤버(static)

생성자 Constructor 객체를 생성할 때 사용하는 메소드() 클래스가 객체화 되어질 때 실제 객체를 생성해주는 코드 생성자는 이외에도 아래와 같은 기능을 가지고 있다. 1. 클래스의 객체 생성 2. 멤버 필드 초기화 3. 필요에 따라서 초기화 메소드 실행 다시 정리 : 생성자 없이는 객체를 만들 수 없다. 생성자의 형식 생성자는 메소드왕 유사한 형식을 가지고 있다. 하지만 메소드와는 기능적인 부분에서 차이가 있다. 1. 생성자의 이름은 반드시 클래스 이름과 같아야 한다. 2. 메소드가 아니기 때문에 리턴타입을 선언할 수 없다. 기본 생성자(Default Constructor) 자바에서는 모든 클래스마다 컴파일 시에 기본 생성자를 자동으로 생성 단, 클래스에 생성자가 하나라도 있다면 기본 생성자는 제..

객체지향프로그래밍_OOP, 자바 파라미터에 클래스 전달

객체지향 프로그래밍 OOP 특징 캡슐화 = 보안 = 보호 관련된 데이터(필드)와 기능(메소드)가 하나의 묶음으로 관리 상속 이미 작성된 클래스(부모)를 이어받아서 새롭게 만드는 것 자식 클래스는 부모클래스의 모든 속성(필드)과 동작(메소드) 를 사용할 수 있다. 필요한 기능은 자식 클래스에서 추가해서 사용한다. 추상화 불필요한 것을 제외하고 필요한 것만 유지 실제 객체를 인스턴스화 할때 필요한 내용만 남기고 나머지는 제외하는 것 다형성 객체의 동작이 변경되는 것 파라미터나 상황에 따라 동작이 변경되는 것 자바 파라미터에 클래스 호출 예제 자바8부터 파라미터로 함수를 넣어줄 수가 있다. David 클래스 내에서 Sujan 클래스 내부 함수 호출 class David{ void ask(Sunja s) {//..

객체지향, 객체 , 인스턴스

객체지향 package jun01; //객체지향 public class OOP01 { int number = 90; // 3 변수 선언 = 인스턴스 변수 == 멤버변수, 멤버 필드 //클래스 바디에 생성 //초기화하지 않아도 자바가 알아서 해줌 //클래스에서 사용하기 위해서 생성 public static void main(String[] args) { //3Code : 변수 선언문 = 인스턴스 변수 int app = 0; System.out.println(app);//0 OOP01 oop01 = new OOP01(); oop01.print2();// 점 = 소유 System.out.println(oop01.number);//90 oop01.number = 1000; System.out.println(oo..

데이터 포맷, 텍스트 포맷, 동적가변배열, 배열 복사

데이터 포맷 Date, Calendar import java.util.Calendar; import java.util.Date; import java.util.Scanner; public class DateFormat01 { public static void main(String[] args) { Date date = new Date(); System.out.println(date);//Mon May 31 09:43:24 KST 2021 Calendar cal = Calendar.getInstance(); System.out.println(cal); System.out.println(cal.get(Calendar.YEAR));//2021 System.out.println(cal.get(Calendar.M..

이차원 배열, 성적 입력 프로그램, 모스부호 해독

이차원 배열 출력 예제 import java.util.Arrays; public class MultiArray02 { public static void main(String[] args) { int[][] multiArr01 = new int[2][4]; int val=1; for (int i = 0; i < multiArr01.length; i++) {//for 문 사용 출력 1234 for (int j = 0; j < multiArr01[i].length; j++) { System.out.print(multiArr01[i][j]=val++); } System.out.println(""); } System.out.println("========================="); System.out.p..

배열, 이차원 배열

import java.util.Arrays; import java.util.Scanner; public class Array04 { public static void main(String[] args) { int[] arr01 = null; //객체 기본 타입 arr01 =new int [5]; arr01[0] = 112; arr01[arr01.length-1] = 150; System.out.println(Arrays.toString(arr01)); //String java.util.Arrays.toString(int[] a) // 경로 클래스명 메소드명(파라미터) String str = Arrays.toString(arr01); System.out.println(str); int[] arr02 = n..

배열, foreach문

배열 Array index, length 위치 길이 배열은 객체 객체는 기본적으로 속성과 메소드를 가지고있다. 배열만 유일하게 속성만 가지고 있다. 배열은 동일(유사)한 타입의 데이터를 하나의 묶음 형태로 관리하기 위해 사용되는 자료구조 속성은 배열의 길이를 나타내는 length 객체의 속성과 메소드 등을 호출할때는 .(점)을 이용한다. 배열의 선언 int[] arr01 = new int[10];//int 타입의 길이가 10인 배열 선언 double[] dArr01 = new double[5]; // doulbe 타입의 길이가 5인 배열 선언 char[] cArr01 = new char[15];// char타입의 길이가 15인 배열 선언 //int arr02[] = new int[5];// 사용가능 in..

for문(별찍기), switch문, while문, do~while문

for문 구구단 public class For05 { public static void main(String[] args) { for (int i = 1; i i; j--) { System.out.print("*"); } System.out.println(""); } for (int i = 5; i > 0; i--) { for (int j = 0; j < i; j++) { System.out.print("*"); } System.out.println(""); } } } 피라미드 별찍기, 영문자(N) 별찍기, 마름모 별찍기 import java.util.Scanner; public class For07 { public static void main(String[] args) { // 영문자 N //* * ..

조건문(if), 반복문(for)

사용자가 숫자를 입력하면 짝수인지 홀수인지 출력하는 프로그램 요구사항 1. 숫자를 입력하세요 라고 출력 2. 숫자 입력을 int input로 받아라 3. 짝수이면 "짝수입니다." 홀수이면 "홀수입니다."라고 출력 import java.util.Scanner; public class Input01 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("숫자를 입력하세요 : "); int input = sc.nextInt(); if (input % 2 == 0) { System.out.println("짝수입니다."); } else { System.out.println("홀수입니다."); }..

반응형