Oops! Mấy khái niệm này dịch sang tiếng Việt mình đúng là không phải dễ hiểu. Tôi đọc cuốn sách “Object Oriented Thought Process,3rd Edition by Matt Weisfeld”, ở chương 3 “Advanced Object-Oriented Concepts”, phần “The Concept of Scope”, thấy tác giả giải thích khá rõ về mấy khái niệm bạn vừa thắc mắc nên đề xuất bạn nên đọc thử. 
Đây là bản tóm tắt của tôi:
The Concept of Scope
Multiple objects can be instantiated from a single class. Each of these objects has a unique identify and state and is allocated its own separated memory. Methods represent the behaviors of an object; the state of the object is represented by attributes.
Local attributes are owned by a specific method.
public class Number {
public method1(){
int count;
}
public method2(){
int count;
}
}
The compiler will concern the above situation as “method1.count” and “method2.count” in order to know removing the corresponding “count” when the method is terminated.
Object attributes are shared for their own methods but are not shared between different objects.
public class Number {
int count; // available to both method1 and method2
public method1() {
count = 1;
}
public method2() {
count = 2;
}
}
There is only one copy of “count” and both assignments operate in “method1” and “method2” on the same copy in memory.
Number number1 = new Number();
Number number2 = new Number();
Number number3 = new Number();
There are actually three separate instances of “count”.
Class attributes are allocated a single piece of memory for all objects instantiated from the class.
public class Number {
static int count;
public method1() {
}
}
All objects of the class “Number” use the same memory location for “count”.