분류 전체보기(129)
-
Java - static(정적)
java에서 변수나 메서드를 선언할 때 static이 붙는 경우가 있다. static은 정적이라는 뜻으로 정적메서드, 정적변수를 선언하면서 사용된다. 정적메서드, 정적변수로 선언을 하게 된다면 모든 객체가 해당 변수, 메서드를 공유 가능하다. 단, 정적 변수, 메서드는 일반 변수, 메서드와 다른 메모리 공간을 사용하기에 정적메서드에서 일반적인 방법으로 일반 변수 및 메서드를 사용 불가하다. 사용하기 위해서는 해당 객체를 호출하고 해당객체.변수명을 통해서 사용 가능하다. 1. 정적 멤버(클래스 멤버)는 static 키워드가 붙은 메소드 및 필드(전역변수)를 의미한다. 2. static은 여러 인스턴스에서 동일한 데이터나 로직을 공유해야 할 때 사용한다. 3. 정적 멤버는 클래스명으로 바로 사용이 가능하다...
2020.08.23 -
Java - final
자바에서는 상수를 선언하기 위해 final을 사용한다. 변수등에 final이 붙게 된다면 더이상 수정이 불가능하다. 1. 변수 앞 final => 변수에 새로운 값 대입 불가 2. 메서드앞에 final =>상속은 허용해주는데 특별히 중요한 메서드만 오버라이딩 금지 하기위한 목적 3. 클래스 앞에 final =>처음부터 상속자체가 불가->모든 메서드는 오버라이딩 불가 예제 소스 //3.final class 클래스명=>상속금지 클래스=>허용X=>중요한 클래스(System) final class Parent{ //1.final + 멤버변수 또는 지역변수=>상수화가 된다.(값이 고정)=>전부 대문자로 사용 final int COUNT=1; //2.final + 메서드=>상속은 허용해주지만 오버라이딩(=재정의)만..
2020.08.23 -
Java - 접근지정자
Java에서는 보안등 여러가지 이유로 클래스나 객체, 메서드에 다른 사용자나 객체등이 접근하는 것을 막을 수 있다. 이를 접근 지정자라 한다. 자바에서 접근지정자는 public, default, protected, private 네가지 종류가 있다. 1.public 접근지정자=> - 같은 패키지에 있는 클래스들끼리 접근 O - 다른 패키지에 있는 클래스들끼리 접근 O - 자기 클래스내에서도 접근 O (private) - 상속한 객체로 접근 가능 2 .private 접근지정자=> - 같은 패키지에서는 접근X - 다른 패키지에서도 접근X - 자기 클래스내에서만 접근 O 3.(default) 접근지정자=> - 같은 패키지에 있는 클래스들끼리 접근 O - 다른 패키지에 있는 클래스들끼리 접근X - 자기 클래스내..
2020.08.23 -
Java - 상속(2) - super()
한 클래스에서 생성자를 호출하기 위해서 this()를 사용하였다. 만약 상속의 관계에 있는 경우 부모 클래스의 생성자를 호출하는 방법이 있다. 바로, super를 사용하는 것이다. class A extends B{ A(){ super(); } } class B { System.out.println("B"); } 위와 같은 코드에서 A를 호출한다면 A의 생성자에 있는 super()은 부모 클래스인 B의 생성자를 호출한다. 결국 console에 B가 출력 될 것이다. 더 복잡한 코드이다. 주석에 써놓은 숫자 순서대로 실행이 된다. 예제 1. class Parent extends Object { //상속관계 =>object()호출 (3) (9) public Parent() { super();//(2) (8) ..
2020.08.23 -
Java - 상속(1)
코드를 작성하다보면 한 객체에 있는 변수와 메서드들이 다른 객체에도 그대로 쓰이는 경우가 있다. 매번 같은 변수와 메서드를 작성하면 코드의 중복이 일어난다. 이를 막기 위해서 자바에는 상속이라는 기능이 있다. 상속을 선언하면 상속을 선언한 클래스(A)는 상속해주는 클래스(B)의 변수 및 메서드를 그대로 사용 가능하다. 이때 A를 자식 클래스, B를 부모 클래스라고 부른다. 아래와 같이 클래스 선언시 extends를 붙여서 작성한다. class A extends B{ } 상속을 받으면 좋은점 1.기존의 부모클래스의 멤버변수,메서드를 그대로 사용 (부모의 소스코드를 재사용(=재활용)) 2.코딩양이 줄어들고 개발시간이 단축 상속의 특징 1.부모->멤버변수,메서드를 상속(O)->***생성자는 상속불가(X) 단)..
2020.08.23 -
Java - 배열
거의 모든 프로그래밍 언어에는 배열이라는 개념이 존재한다. Java에서 배열은 같은 자료형의 자료를 더욱 편리하게 관리하기 위해서 사용한다. 배열은 우리가 생활에서 같은 종류의 물건들을 한 상자에 담아서 관리하는 것이라 생각하면 비슷하다. 배열=>같은 자료형의 변수들의 집합체 서로 다른 자료형의 변수들의 집합체(=>구조체) 배열을 사용하지 않으면 1.변수이름이 많아지면 관리상의 어려움이 있다. 2.처리속도가 느려진다. int s[]; String str[]; 위와 같이 자료형을 적어주고 []을 붙임으로써 배열을 선언했다. int su[]=new int[3]; 이렇게 3의 크기를 가진 배열을 생성했다. 자바에서 배열의 크기는 변하지 않는다. su[0]=10; su[1]=20; su[2]=30; 배열의 인덱..
2020.08.23