분류 전체보기

    JAVA 자바 웹 개발 Day08 (Note): final, 상속 (접근 제어자, 생성자), 오버 라이딩

    2022/2/16 static: 모두가 공유하고 일정하게 보존된 데이터가 필요할 때 static으로 만든다. static 메서드는 객체 생성 없이 바로 사용 가능.-> static 메서드는 static 멤버만 접근 가능 (인스턴스 x) -> static메서드에서 this 키워드 사용할 수 없다. (this는 new를 해야 생기기 때문에 new 없이 사용하는 static에서는 사용 불가) final: 1. final 클래스: 클래스 앞에 final이 붙으면, 상속할 수 없음을 지정함 -> 부모가 될 수 없다. fainal class FinalClass {} 2. final 메서드: 메서드 앞에 붙으면, 오버 라이딩을 할 수 없음을 선언함. final int finalMethod(){…} 3. final 변..

    JAVA 자바 웹 개발 Day7 (Code2 )

    78. package day07; class Circle2{ int radius; Circle2(){} Circle2(int radius){ this.radius = radius; } Circle2 getCircleObj() { //메서드임. 리턴타입 써클2 System.out.println("getCircleObj" + this); return this; //디스의 리턴타입은 써클2 } } public class Test78 { public static void main(String[] args) { Circle2 c = new Circle2(); System.out.println("maic c:" + c); //c의 주소값 출력 System.out.println(c.getCircleObj()); //..

    JAVA 자바 웹 개발 Day7 (Code1 )

    70. package day07; public class Test70 { static void add() {} static void add(int x) { //위와 오버로딩 됨 System.out.println(x); } //static void add(int a) {} //위와 오버로딩 안됨 static void add(long a) {} static void add(long a, int b) {} static void add(int a, long b) {}//전부 오버로딩 가능 public static void main(String[] args) { add(); add(100); add(100L,100); //앞에가 롱타입이므로 꼭 L을 붙여줘야 롱으로 인식함. 안그러면 int로. } } 클래스 변수..

    JAVA 자바 웹 개발 Day7 (Note): 생성자, this, 객체 배열, 접근 지정자, 캡슐화

    2022-02-15 생성자 Constructor 1. 객체가 생성될 때 객체의 초기화를 위해 실행되는 메서드. 아예 다 채워놓고 생성하겠다…… 자바의 모든 클래스는 생성자를 가지고 있다. 생성자가 기술이 되어 있지 않는 경우엔 눈에 보이진 않지만 "기본 생성자"가 아무것도 없는 형태로 자동으로 만들어져 호출된다. 2. 자바 초기화(초기화 세팅하기)는 3가지 방식이 있다. 1) 생성자: 인스턴스 변수를 초기화하기 위해 주로 사용. 2) 명시적 초기화: int a= 10; 이렇게 값 대입하는 것. 3) 초기화 블록: 클래스 블록 / 인스턴스 블록: 생성자보다 먼저 초기화. 애초부터 처음부터 세팅을 해줘야 할 경우.. [구조] A. 클래스 블록 static { //초기화에 필요한 코드들 } 프로그램 실행 시 ..

    JAVA 자바 웹 개발 Day6 (Code2)

    65. package day06; import java.util.Scanner; //재귀호출: factorial: 1부터 입력 받은 수 n까지 곱한 결과를 돌려주는 메서드. public class Test65 { static long factorial(int n) { //롱 if(n==1) { return 1; } else { return n * factorial(n-1); //롱 //내 안에서 나를 불러서 위에 팩토리얼에 다시 4를 넣어줌 } } public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("정수 입력> "); int n = Integer.parseInt(sc.nextLine..

    JAVA 자바 웹 개발 Day6 (Code1)

    60. package day06; class TestA { int a; static int b; Test60 t; //인스턴스 참조형 static String abc; void test() { int def; // test라는 메서드 안에 있는 지역변수. } } public class Test60 { public static void main(String[] args) { TestA aaa =new TestA(); System.out.println(aaa.a); System.out.println(TestA.b); } } 61. package day06; class TestB{ //입력, 리턴 없는 형태 void hello(){ System.out.println("Hello!"); System.out.pr..

    JAVA 자바 웹 개발 Day6 (Note): 메서드

    2022/02/14 메서드 (Method) 어떠한 작업을 수행하기 위한 명령문들의 집합. main()도 메서드의 일종. 메서드: 연산을 처리하는 곳. 변수: 그 결과를 저장하는 곳 메서드는 어떤 값을 입력받아 처리하고, 그 결과를 하나 돌려줄 수 있는 구조. -> 결괏값, 리턴 값. 목적 & 장점: 재사용이 가능. 반복적인 코드 작성을 줄일 수 있음. 필요할 때마다 메서드로 묶어놓는다. 코드 관리가 용이함. 재사용성을 높이기 위해서 한 가지 메서드는 한 가지 기능만 하도록 작성하는 게 좋다. 1. 메서드 정의와 사용: ① 입력값, 리턴값 없는 경우 정의: 리턴 타입-> void 메서드명 (){ //수행할 코드들…… } ---------------------------- 사용(호출): 메서드명(); ② 입..

    JAVA 자바 웹 개발 주말 연습 문제 풀기 02/12

    35. package day04; import java.util.Scanner; public class Test35_1 { public static void main(String[] args) { // 문제2-1. 게임 랭킹 보드. 5개의 데이터를 저장할 수 있는 users와 scores라는 // 배열이있고, users배열에는 유저네임, scores 배열에는 유저의 게임점수를 입력받는다. // 단, 유저네임과 게임점수는 배열 인덱스상으로 서로 일치해야한다. Scanner sc = new Scanner(System.in); String [] users = new String [5]; int [] scores = new int [5]; for(int i = 0; i < users.length; i++) { ..

    JAVA 자바 웹 개발 Day5 (Code)

    50. 문장의 구조를 분석하는 방법. 프로그램을 짜기 전에 먼저 어떤 구조로 시작하면 좋을지 분석하는 습관을 들이자.. 51. 클래스를 만들어보자. 메인 메서드 바깥, 즉 1번 라인~ 20번 라인 사이에 클래스를 선언할 수 있다. Person 클래스에 인스턴스 참조형 변수 name과 인스턴스 기본형 변수 age가 선언되었고 메서드로는 "일하기"를 출력하는 work와 "밥 먹기"를 출력하는 eat가 있다. Person 클래스를 사용하려면 메인 메서드에서 객체를 생성해주어야 한다. 클래스명 참조 변수명 = new 클래스명(); 객체를 p, p1 두개 생성하였다는 점을 기억하자.. 38~39번 라인에서 p객체 안에 있는 변수의 값을 변경했다. 객체 p -> name = "피카츄", age = 100 객체 p1..

    JAVA 자바 웹 개발 Day5 (Note): 객체 지향 프로그래밍이란? 클래스와 객체

    2022/02/11 객체 지향 Object Oriented Programming (OOP) 1. 객체: 실생활, 우리 주변에 있는 모든 것을 의미함. 고유한 특성과 기능을 가지고 있다. 2. 객체 지향: 실세계의 객체를 프로그램 내에 표현하기 위해 클래스와 객체 개념을 도입한 것. 3. 특징: ① 코드의 재사용성이 높다: API 기능. 이미 제작된 소스 코드를 가져다 쓸 수 있음. ② 코드 관리가 쉽다: 상속, 다형성, 추상화, 캡슐화 //다형성에 대해 설명할 수 있어야 한다. ③ 신뢰성이 높은 프로그램 개발 가능. 코드의 재사용성이 높다는 점과 연관성이 있다. 잘 만들어져 배포된 프로그램의 소스 코드를 가져다 쓰면 검증된 부품을 이용하여 프로그램을 이용하는 것. ④ #캡슐화 encapsulation: ..