Java 썸네일형 리스트형 제어자(modifiers)는 무엇인가? 클래스, 변수, 메서드의 선언부에 사용되어 부가적인 의미를 부여한다. 1. static - 클래스의, 공통적인 - 모든 인스턴스에 공통적으로 사용되는 클래스 변수가 된다. - 클래스변수는 인스턴스를 생성하지 않고도 사용 가능하다. - 클래스가 메모리에 로드될 때 생성된다. - 인스턴스를 생성하지 않고도 호출이 가능한 static 메서드가 된다. - static메서드 내에서는 인스턴스 멤버들을 직접 사용할 수 없다. 2. final - 마지막의, 변경될 수 없는 - final이 클래스, 메서드, 지역변수, 멤버변수에 붙으면 변경할 수 없는 상태가 된다. 3. abstract - 추상의, 미완성의 - 추상 클래스에는 선언부만 작성하고 구현부는 작성되지 않은 추상메서드가 포함되어 있다. 더보기 java에서 타입 간의 변환방법 1. 숫자를 문자로 변환 - 숫자에 '0'을 더한다. (char)(3 + '0') → '3' 2. 문자를 숫자로 변환 - 문자에서 '0'을 뺀다. '3' - '0' → 3 3. 숫자를 문자열로 변환 - 숫자에 빈 문자열 ("")을 더한다. 3 + "" → "3" 4. 문자열을 숫자로 변환 - Integer.parseInt() 또는 Double.parseDouble()을 사용한다. Integer.parseInt("3") → 3 Double.parseDouble("3.14") → 3.14 5. 문자열을 문자로 변환 - charAt(0)을 사용한다. "3".charAt(0) → '3' 6. 문자를 문자열로 변환 - 빈 문자열("")을 더한다. '3' + "" → "3" 더보기 중첩 if문 if문 안의 if import java.util.Scanner; public class Ex4_5 { public static void main(String[] args) { int score = 0; // 점수 char grade = ' ', opt = '0'; //학점 System.out.println("점수를 입력하세요.>"); Scanner sc = new Scanner(System.in); score = sc.nextInt(); System.out.printf("당신의 점수는 %d 입니다. %n", score); if (score >= 90) { grade = 'A'; if (score >= 98) { opt = '+'; } else if (score < 94) { opt = '-'; } } e.. 더보기 변수의 초기화 인스턴스 변수와 참조 변수는 초기화 해줘야 한다. Engine e = new Engine(); 엔진을 만들어서 참조변수 e에 저장해줘야 한다. 인스턴스 초기화, 클래스 초기화, 생성자 생성 등 초기화는 왜 하는걸까??? 초기화 시켜야 원하는 객체를 만들기 때문일까?? 자바에서 멤버변수, 즉 클래스 내부에 선언된 변수 중에서 인스턴스 변수는 객체가 생성될 때 자동으로 초기화됩니다. 하지만 개발자가 원하는 초기값으로 초기화하고자 할 때는 명시적으로 초기화를 해주어야 합니다. 이를 위해서는 변수의 선언과 동시에 초기값을 할당하거나, 생성자에서 초기화하는 방법 등이 있습니다. 멤버변수를 초기화하는 이유는 다음과 같습니다. 안정성을 높이기 위해 객체가 생성될 때, 인스턴스 변수가 자동으로 초기화되는 것은 그 객체.. 더보기 다형성(polymorphism) 개념 Smart Tv SmartTv s = new SmartTv();// 참조변수와 인스턴스의 타입이 일치 Tv t = new SmartTv();// 조상타입 참조변수로 자손 타입 인스턴스 참조 SmartTv 리모컨(자손)으로 SmartTv인스턴스를 작동할 수 있다. 이건 당연하다. 그러나 Tv 리모컨(조상)으로 SmartTv인스턴스를 작동할 수 있다. 단, 부분적으로만! SmartTv리모컨은 기능이 7개, Tv리모컨은 기능이 5개다. 5개만 작동이 가능한 것이다. 자손 타입의 참조변수로 조상 타입의 객체를 가리킬 수 없다. SmartTv 리모컨으로 Tv인스턴스를 작동시킬 수 없다. 버튼은 있는데 기능이 없음... Tv 리모컨으로 SmartTv 인스턴스를 작동시킬 수 있다. 버튼이 부족하지만 기능은 다 구현가.. 더보기 열등감을 느꼈다 나는 하루 종일 붙잡고 있어도 풀지 못하는 문제를 쉽게 쉽게 풀어버리는 사람이 있다. 쉽다고 아무렇지 않게 얘기하는데 짜증이 났다. 왜 잘난척을 하는 것일까? 집에 와서 자바 강의를 듣고 있다. 하층민스러운 마인드인 건 맞다. 그 사람들도 하루 아침에 프로그래밍을 잘하게 된 것은 아닐 것이다. 전공자였다. 나는 이제 고작 30일 했다. 몰라도 괜찮으니까 좀 더 가볍게 해보자. 비교는 독이다. 열등감은 생산적이지 못하다. 나는 내 속도대로 밀고 나가면 된다. 아직 나는 미숙하다. 열심히는 하지만 너무 기대는 하지 말자. 흥미를 계속 붙여 나가려면 부담이 없어야 한다. 더보기 Scanner next()와 nextLine() 메서드의 차이점. 오늘은 Scanner next()와 nextLine() 메서드의 차이점을 알아보겠습니다. 모를 때는 그냥 따라 쳐보면서 배우는 겁니다. 바로 실습 들어갑니다. nextLine() 메서드를 써볼게요. import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("이름을 입력하세요."); String A = sc.nextLine(); System.out.println("이름 :" + A); } } 더보기 이름을 입력하세요. 코딩 아저씨 이름 :코딩 아저씨 코딩(띄우고) 아저씨를 입력하면 스캐너 객채(sc)에 코딩 아.. 더보기 객체지향개념1 - 선언위치에 따른 변수의 종류 변수의 선언위치가 변수의 종류와 범위를 결정한다. 클래스(class) 영역에서 선언되면? 클래스 변수, 인스턴스 변수다. 인스턴스는 객체를 생성해야 메모리에 올라간다. 클래스변수는 언제든지 사용 가능하다. 메서드(method) 영역에서 선언되면? 지역변수다. class Variables { int iv;// 인스턴스 변수 static int cv;// 클래스 변수 (static이 있기 때문에) void method() { int lv = 0; // 지역 변수 } } 어떤 객체를 만든다고 가정할 때, 공통 속성은 클래스 변수로 한다. 개별 속성은 인스턴스 변수로 한다. 예시 : 포커카드를 제조한다. 폭과 높이는 모든 카드의 공통 속성이기 때문에 클래스 변수(static)로 선언한다. 하트 모양, 다이아몬드.. 더보기 이전 1 2 3 다음